← WeftCONTENT HISTORY

Update to Weft

Snapshot Oct 24, 2026 · 13:08 UTC · version 1.1.0

WHAT CHANGED

Package or technical metadata updated

Package or technical metadata updated

Observed in package metadata. These changes alone do not establish a new customer-facing feature.

Save Weft and check future changes in Following.

Up to 3 plugins free · no card required.

All fields and original values.

These are saved file metadata. Open a changed file to read its text edits.

Package file

Before

Sep 30, 2026 · 22:59 UTC

399c574a5efcdb78d04f14cb4ee3e2b873cb8d1ee1670badfd9560162b7b2fb1

After

Oct 24, 2026 · 13:08 UTC

a69d0be2bb2cfff92b1dd3ab2b3d02eaebc6d7927097190ffdaf715082bd68ef

Package file

Before

Sep 30, 2026 · 22:59 UTC

127

After

Oct 24, 2026 · 13:08 UTC

96

Package file

Before

Sep 30, 2026 · 22:59 UTC

{"sha256":"713de259cc75ed80e38787c9cdc07c1f96e13c896e04b982a21a94cc54afef02","size":1978}

After

Oct 24, 2026 · 13:08 UTC

Not present

Package file

Before

Sep 30, 2026 · 22:59 UTC

Not present

After

Oct 24, 2026 · 13:08 UTC

{"sha256":"626c0db4f5a6c8011deda743d8a2e244a399e9bad32e6c2a89c55c2ba5946d2c","size":1073}

Compare saved observations

Download comparison JSON

Changed files

Choose a file to see its text changes. Binary or large files show metadata only.

.app.json →

.codex-plugin/plugin.json →

LICENSE →

README.md →

assets/logo-dark.png →

assets/logo-dark.svg →

assets/logo.png →

assets/logo.svg →

mcp.json →

plugin.json →

skills/weft-tasks/SKILL.md →

skills/weft-tasks/references/examples.md →

README.md

− removed · + added

--- before
+++ after
@@ -0,0 +1,93 @@
+# Weft tasks — an Agent Skill
+
+Teaches any AI agent to turn a vague request into a task that can actually be
+finished and verified, put it on your [Weft](https://letsweft.com/?utm_source=github-weft-tasks&utm_medium=repo&utm_campaign=evergreen) board, and
+close it on a named artifact instead of a claim.
+
+Works for the work a founder actually has — a landing page, an investor update,
+a pricing change, a contractor, an errand — not only code.
+
+## Install
+
+**Claude Code — one command each.** This repository is its own marketplace, so
+there is nothing to clone and no path to know:
+
+```bash
+claude plugin marketplace add AndreiFinogeev/weft-tasks
+claude plugin install weft@weft
+```
+
+That installs both halves: the skill, and the Weft MCP server it writes to. On
+first use a browser window opens to sign in.
+
+**Cursor, Kiro, GitHub Copilot and Codex.** The repository is also an
+[Agent Plugins 1.0](https://agent-plugins.org) package (`plugin.json` and
+`mcp.json` at the root), the format those clients install from. Once the
+marketplace listings are live, install Weft from each client's plugin browser.
+Until then, the Copilot CLI can install it from this repository, which is its
+own marketplace there too:
+
+```bash
+copilot plugin marketplace add AndreiFinogeev/weft-tasks
+copilot plugin install weft@weft
+```
+
+Codex CLI, the same way:
+
+```bash
+codex plugin marketplace add AndreiFinogeev/weft-tasks
+codex plugin add weft@weft
+```
+
+**Any other client that reads the [Agent Skill](https://agentskills.io) format**
+— Codex, Cursor, VS Code, Copilot, Goose, OpenCode, OpenHands, Amp, Kiro,
+Factory, Letta, Junie, Roo Code — point it at `skills/weft-tasks/` in this repo,
+or clone the whole thing into your skills directory:
+
+```bash
+git clone https://github.com/AndreiFinogeev/weft-tasks.git ~/.claude/skills/weft-tasks
+```
+
+Cloned that way the folder loads as a plugin too, MCP server included.
+
+**There is nothing to invoke.** The agent reads the skill's description in every
+session (~316 tokens) and loads the rest only when it applies. Say "add a task
+for the new landing page" and it will ask at most three questions — often none —
+and write a card with an acceptance checklist.
+
+## Pair it with the board
+
+The skill is useful on its own, and better with the board connected. Add Weft's
+hosted MCP server so tasks land where you can see them:
+
+```
+https://letsweft.com/api/mcp
+```
+
+Streamable HTTP, OAuth 2.1, no API keys — a browser window opens on first use.
+Per-client instructions: [letsweft.com/integrations](https://letsweft.com/integrations?utm_source=github-weft-tasks&utm_medium=repo&utm_campaign=evergreen).
+A free account takes a minute: [letsweft.com/sign-up](https://letsweft.com/sign-up?utm_source=github-weft-tasks&utm_medium=repo&utm_campaign=evergreen).
+
+Board mechanics — columns, sprints, projects, quota, trash — come from the MCP
+server itself, so this skill never restates them and cannot drift out of sync
+with them.
+
+## What's inside
+
+| Path | What it is |
+|---|---|
+| `plugin.json` | Agent Plugins 1.0 manifest — what Cursor, Kiro, Copilot and the OpenAI plugin directory read |
+| `mcp.json` | The Weft MCP server, in the Agent Plugins format |
+| `assets/` | Icons, light and dark |
+| `.claude-plugin/plugin.json` | Plugin manifest — what `claude plugin install` reads |
+| `.claude-plugin/marketplace.json` | Makes this repo installable directly, with no separate marketplace |
+| `.mcp.json` | Ships the Weft MCP server with the plugin, in Claude Code's format |
+| `skills/weft-tasks/SKILL.md` | The skill. Name and description are always in context; the body loads only when it triggers |
+| `skills/weft-tasks/references/examples.md` | Loaded only if the agent opens it — worked non-code examples |
+| `evals/` | Runnable behaviour tests (`claude plugin eval`), and a readable statement of what the skill is supposed to do |
+
+## Support
+
+- Docs: [letsweft.com/docs](https://letsweft.com/docs?utm_source=github-weft-tasks&utm_medium=repo&utm_campaign=evergreen)
+- Email: support@letsweft.com
+- Privacy: [letsweft.com/privacy](https://letsweft.com/privacy?utm_source=github-weft-tasks&utm_medium=repo&utm_campaign=evergreen)
Full technical diff · 13 changed fields

changed /files/.app.json/sha256

BEFORE
"399c574a5efcdb78d04f14cb4ee3e2b873cb8d1ee1670badfd9560162b7b2fb1"
AFTER
"a69d0be2bb2cfff92b1dd3ab2b3d02eaebc6d7927097190ffdaf715082bd68ef"

changed /files/.app.json/size

BEFORE
127
AFTER
96

removed /files/.codex-plugin~1plugin.json

BEFORE
{
  "sha256": "713de259cc75ed80e38787c9cdc07c1f96e13c896e04b982a21a94cc54afef02",
  "size": 1978
}
AFTER
Field is absent

added /files/LICENSE

BEFORE
Field was absent
AFTER
{
  "sha256": "626c0db4f5a6c8011deda743d8a2e244a399e9bad32e6c2a89c55c2ba5946d2c",
  "size": 1073
}

added /files/README.md

BEFORE
Field was absent
AFTER
{
  "sha256": "0879cfe2e7d82bf4bc0808ace78de15cffd630a16d6e568ebe37becb4dc02503",
  "size": 4184
}

added /files/assets~1logo-dark.png

BEFORE
Field was absent
AFTER
{
  "sha256": "a52e6455c0c22c681f36b1762a7d70a5afe614b2fdbf7af3500da725d15d781c",
  "size": 10036
}

added /files/assets~1logo-dark.svg

BEFORE
Field was absent
AFTER
{
  "sha256": "239cea80d27e7017b940eea07662845f5b99330f64037005952fd999756bbe33",
  "size": 864
}

added /files/assets~1logo.png

BEFORE
Field was absent
AFTER
{
  "sha256": "525213d534541889aac13718cc01c4ef257e8e154129b77e1af06a2811c9b06d",
  "size": 10210
}

added /files/assets~1logo.svg

BEFORE
Field was absent
AFTER
{
  "sha256": "dad00b07d06a308cca849145ab69f9b1b264854a2b23e4808bea568621c45bc5",
  "size": 874
}

added /files/mcp.json

BEFORE
Field was absent
AFTER
{
  "sha256": "830245bf3bc1087e67d1ec0b55691fcbd67139f424185e843c52bb6b88639958",
  "size": 195
}

added /files/plugin.json

BEFORE
Field was absent
AFTER
{
  "sha256": "014bca83b41116a36b54e4fa55a3e335ca2ab927e2c8f071f6fc3e6bf0b61bcc",
  "size": 7562
}

added /files/skills~1weft-tasks~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "ac359b7c8980e58dcc7ccfe189f0852f7d7089cd4172f178d027066b67a92ee1",
  "size": 15617
}

added /files/skills~1weft-tasks~1references~1examples.md

BEFORE
Field was absent
AFTER
{
  "sha256": "5a6097e7a3530376f5f458d500abd1b22ba40193bd7446f6aa245cc9e3c203b3",
  "size": 5771
}
Full snapshot data
{
  "files": {
    ".app.json": {
      "sha256": "a69d0be2bb2cfff92b1dd3ab2b3d02eaebc6d7927097190ffdaf715082bd68ef",
      "size": 96
    },
    "LICENSE": {
      "sha256": "626c0db4f5a6c8011deda743d8a2e244a399e9bad32e6c2a89c55c2ba5946d2c",
      "size": 1073
    },
    "README.md": {
      "sha256": "0879cfe2e7d82bf4bc0808ace78de15cffd630a16d6e568ebe37becb4dc02503",
      "size": 4184
    },
    "assets/logo-dark.png": {
      "sha256": "a52e6455c0c22c681f36b1762a7d70a5afe614b2fdbf7af3500da725d15d781c",
      "size": 10036
    },
    "assets/logo-dark.svg": {
      "sha256": "239cea80d27e7017b940eea07662845f5b99330f64037005952fd999756bbe33",
      "size": 864
    },
    "assets/logo.png": {
      "sha256": "525213d534541889aac13718cc01c4ef257e8e154129b77e1af06a2811c9b06d",
      "size": 10210
    },
    "assets/logo.svg": {
      "sha256": "dad00b07d06a308cca849145ab69f9b1b264854a2b23e4808bea568621c45bc5",
      "size": 874
    },
    "mcp.json": {
      "sha256": "830245bf3bc1087e67d1ec0b55691fcbd67139f424185e843c52bb6b88639958",
      "size": 195
    },
    "plugin.json": {
      "sha256": "014bca83b41116a36b54e4fa55a3e335ca2ab927e2c8f071f6fc3e6bf0b61bcc",
      "size": 7562
    },
    "skills/weft-tasks/SKILL.md": {
      "sha256": "ac359b7c8980e58dcc7ccfe189f0852f7d7089cd4172f178d027066b67a92ee1",
      "size": 15617
    },
    "skills/weft-tasks/references/examples.md": {
      "sha256": "5a6097e7a3530376f5f458d500abd1b22ba40193bd7446f6aa245cc9e3c203b3",
      "size": 5771
    }
  }
}

SHA-256 of public snapshot: ee9fef6733ce163bfbc571a31fdb7f249320c311c5a5626ad3d16fcbb5b93e03