Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
{
"name": "qe",
"source": "./qe",
"version": "0.7.0",
"version": "0.8.0",
"description": "QuantEcon's shared agent skills under one namespace — working through a PR's review feedback, advising on and scoring lecture acceleration (benchmark), bulk read-only repository audits, turning audit reports into tracked work projects, and creating, reading and carrying work-plan state across agent sessions"
}
]
Expand Down
3 changes: 2 additions & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,8 @@ Before adding a paragraph, check whether it already exists. If it does, link to
| Style rule text and schema | `QuantEcon/style-guide` (upstream — never authored in this repo) |
| What has shipped, and the principles behind it | [CATALOG.md](CATALOG.md) |
| Parked ideas, not committed to | [Low-priority enhancement issues](https://github.com/QuantEcon/skills/issues?q=is%3Aissue+is%3Aopen+label%3Aenhancement+label%3Alow-priority) in the tracker, one per idea with its merit assessment |
| Work in flight, per skill family | issues [#3](https://github.com/QuantEcon/skills/issues/3) (style), [#4](https://github.com/QuantEcon/skills/issues/4) (benchmark), [#12](https://github.com/QuantEcon/skills/issues/12) (audit) |
| What a skill actually did when it was run | `reviews/` — one record per validation run, cited from [CATALOG.md](CATALOG.md) and the tutorials |
| Work in flight, per skill family | issues [#3](https://github.com/QuantEcon/skills/issues/3) (style, and the `workplan-*` family), [#4](https://github.com/QuantEcon/skills/issues/4) (benchmark), [#12](https://github.com/QuantEcon/skills/issues/12) (audit) — the families outlived the plugins they were named for |

## Working in this repo

Expand Down
4 changes: 2 additions & 2 deletions CATALOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ Everything ships in the single `qe` plugin ([#43](https://github.com/QuantEcon/s

| Family | Skills | State | Tracking |
|---|---|---|---|
| **Author-facing** — from drafting a lecture to merging its PR | `/qe:copilot-review` | Operational, and validated from an installed plugin on 2026-08-03: plugin-root path resolution, cross-repo mode, and running from outside a working tree. The style skills (`check-style` and six per-category siblings) shipped as scaffolding through 0.5.0 and were removed in 0.6.0; their plan lives in [#3](https://github.com/QuantEcon/skills/issues/3), and they return once the rule snapshot and deterministic preflight land. The `workplan-*` family — `/qe:workplan-project` (0.3.0 as `/qe:workplan`, renamed 0.4.0; report bundle → tracking issue with sub-issues) and `/qe:workplan` (0.5.0, consolidating 0.4.0's `workplan-issue` and `workplan-update` and adding a read verb; the work-plan issue's whole lifecycle — create, read/validate/recommend, resume, update, close-and-succeed) — is merged as complete procedures with no validated runs yet, so it is likewise not listed until it has one. Note the name reuse: `/qe:workplan` meant the report-to-project skill for one morning in 0.3.0; from 0.5.0 it is the lifecycle skill. | [#3](https://github.com/QuantEcon/skills/issues/3) |
| **Author-facing** — from drafting a lecture to merging its PR | `/qe:copilot-review`, `/qe:workplan` | `/qe:copilot-review` is operational, validated from an installed plugin on 2026-08-03: plugin-root path resolution, cross-repo mode, and running from outside a working tree. `/qe:workplan` (0.5.0, consolidating 0.4.0's `workplan-issue` and `workplan-update` and adding a `read` verb — the work-plan issue's whole lifecycle: create, read/validate/recommend, resume, update, close-and-succeed) is operational for the verbs that have run: `update` and `resume` on 2026-08-20 from an installed plugin, and this repo's own work-plan issue [#25](https://github.com/QuantEcon/skills/issues/25) revised again on 2026-08-25 as the consolidated skill's first `update`. `create`, `read` and `close` are merged procedures with no run yet, and its sibling `/qe:workplan-project` (0.3.0 as `/qe:workplan`, renamed 0.4.0; report bundle → tracking issue with sub-issues) has never been run against a real bundle, so neither is listed above. Note the name reuse: `/qe:workplan` meant the report-to-project skill for one morning in 0.3.0; from 0.5.0 it is the lifecycle skill. The style skills (`check-style` and six per-category siblings) shipped as scaffolding through 0.5.0 and were removed in 0.6.0; their plan lives in [#3](https://github.com/QuantEcon/skills/issues/3), and they return once the rule snapshot and deterministic preflight land. | [#3](https://github.com/QuantEcon/skills/issues/3) |
| **Benchmark** — evaluating accelerated lecture implementations | `/qe:benchmark` (until qe 0.7.0: `/benchmark:review-acceleration`) | Operational for workspace runs: rubric v2, a deterministic scoring engine, and two complete worked evaluations as regression baselines. | [#4](https://github.com/QuantEcon/skills/issues/4) |
| **Audit** — bulk, read-only repository audits | `/qe:audit-issues` (until qe 0.7.0: `/audit:issues`) | Run once **as a skill** — a 230-item tracker on 2026-07-28, 22 minutes, seven plugin defects found and recorded ([record](https://github.com/QuantEcon/skills/blob/main/reviews/audit-run-action-translation-2026-07-28.md)). Both severity-1 defects are fixed as of audit 0.2.0 ([#34](https://github.com/QuantEcon/skills/pull/34)): a `[verified]` citation must now resolve on the ref the audit named, and phase 2 checkpoints its closed pass as well as its open one. That validates the method as far as one run goes and no further: its central claim, resumability, is still untested, because the run was never interrupted. Further runs: [#16](https://github.com/QuantEcon/skills/issues/16). | [#12](https://github.com/QuantEcon/skills/issues/12), [#16](https://github.com/QuantEcon/skills/issues/16) |
| **Audit** — bulk, read-only repository audits | `/qe:audit-issues` (until qe 0.7.0: `/audit:issues`) | Run twice **as a skill**, against deliberately different repo types. Run 1 — a 230-item tracker on 2026-07-28, 22 minutes, seven plugin defects ([record](https://github.com/QuantEcon/skills/blob/main/reviews/audit-run-action-translation-2026-07-28.md)); both severity-1 defects fixed in audit 0.2.0 ([#34](https://github.com/QuantEcon/skills/pull/34)). Run 2 — `QuantEcon/meta`, 317 items and 138 open, 2026-08-25, ~53 minutes including a deliberate kill ([record](https://github.com/QuantEcon/skills/blob/main/reviews/audit-run-meta-2026-08-25.md)) — **settled the claim the program exists to check**: the open pass resumed across a lost session at the issue predicted beforehand, appending only, with no re-walk, skip or duplicate; and read-only moved from asserted to measured, a before/after fingerprint of all 317 issues hashing identically. What two runs still do not cover: the closed pass writes once for the whole survey, so an interrupt there loses the phase and the resume rule cannot address grouped entries ([#57](https://github.com/QuantEcon/skills/issues/57)); no run has been killed mid-write, so the truncation guard is unexercised; and the working-directory rule's `.audit/` fallback leaves a public checkout untracked-dirty ([#61](https://github.com/QuantEcon/skills/issues/61)). Further runs and the claims table: [#16](https://github.com/QuantEcon/skills/issues/16). | [#12](https://github.com/QuantEcon/skills/issues/12), [#16](https://github.com/QuantEcon/skills/issues/16) |

Installation and setup are in [README.md](README.md); what it is like to run one is in [docs/using-skills.md](docs/using-skills.md).

Expand Down
14 changes: 8 additions & 6 deletions docs/developing-skills.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,17 @@ For contributors adding or modifying plugins in this repo. (Using them: [using-s
.claude-plugin/marketplace.json # the catalogue — every plugin registers here
scripts/ # manifest + frontmatter validation, version-bump guard (CI runs these)
docs/ # these guides
<plugin>/ # one directory per plugin
reviews/ # validation-run records — what a skill did when it was actually used
qe/ # the plugin (one directory per plugin; since 0.7.0 there is one)
.claude-plugin/plugin.json # name, description, version
CHANGELOG.md # required: one entry per released version
README.md # the plugin's user guide
skills/<skill-name>/SKILL.md # one directory per skill
scripts/ # deterministic scripts the skills drive
references/ # rule/rubric content the skills read
scripts/<family>/ # deterministic scripts the skills drive
references/<family>/ # rule/rubric/method content the skills read
```

Under one plugin, `scripts/` and `references/` are subdivided by skill family (`scripts/benchmark/`, `references/audit/`) rather than sitting flat — the [#43](https://github.com/QuantEcon/skills/issues/43) consolidation's one structural consequence.

**A plugin needs its manifest and its changelog; a skill needs only `SKILL.md`.** A skill that is purely a procedure — nothing deterministic to run, no long reference material to point at — is one file in one directory, and should stay that way. `scripts/` appears when there is something mechanical worth doing in code; `references/` when the skill needs more context than belongs in its body. Adding either before you need it just makes the skill harder to read.

The live skill families show some of the range: the standalone procedures (a PR-feedback loop with one script of its own, and a two-skill work-plan family: a lifecycle skill whose five verbs share one statement of the org's plan convention, plus a report-to-project packager), `benchmark` (one skill driving a deterministic engine at `scripts/benchmark/`, with worked examples as its regression baseline), and the `audit-*` family (sibling procedures sharing a method document at `references/audit/`). None of these is the house style — they are what the problems happened to need.
Expand Down Expand Up @@ -120,7 +122,7 @@ A second job runs `claude plugin validate --strict` against each plugin and the

### Tags

Each release is tagged `{name}--v{version}`, so three independently-versioned plugins share one tag namespace. Tag from a clean checkout of `main` after the release merges:
Each release is tagged `{name}--v{version}`. The scheme was adopted when three plugins were versioned independently and shared one tag namespace; since 0.7.0 only `qe` is live, and the retired `benchmark--v*` and `audit--v*` tags stay as archaeology. Tag from a clean checkout of `main` after the release merges:

```bash
claude plugin tag ./<plugin> --push -m "<plugin> %s"
Expand All @@ -134,4 +136,4 @@ It takes the version from `plugin.json`, refuses unless the marketplace entry ag

- Branch, PR, CI must be green. This repo **squash-merges** — stacked branches need `git rebase --onto origin/main <old-base>` after the base PR merges (already-upstream commits drop automatically).
- External contributions land with the contributor as git author (`--author`, GitHub noreply address unless they prefer otherwise) and integration fixes as separate commits — see PR #5 for the pattern.
- [CATALOG.md](../CATALOG.md) lists what has merged *and* is operational, and nothing else, so a PR that makes a skill operational updates it while a PR that merely plans one does not. Scaffolding does not ship at all (a policy set with `qe` 0.6.0): an unbuilt skill lives only as the plan in its plugin's tracking issue ([#3](https://github.com/QuantEcon/skills/issues/3) `qe`, [#4](https://github.com/QuantEcon/skills/issues/4) `benchmark`, [#12](https://github.com/QuantEcon/skills/issues/12) `audit`), never as a shipped menu entry that reports it does nothing. Ideas nobody has committed to belong in the tracker as [low-priority enhancement issues](https://github.com/QuantEcon/skills/issues?q=is%3Aissue+is%3Aopen+label%3Aenhancement+label%3Alow-priority), each carrying its own merit assessment. The style-guide rule content is authored in `QuantEcon/style-guide`, never here — when the style skills land, this repo's `qe` plugin will consume a rendered snapshot ([project-style-guide#6](https://github.com/QuantEcon/project-style-guide/issues/6)).
- [CATALOG.md](../CATALOG.md) lists what has merged *and* is operational, and nothing else, so a PR that makes a skill operational updates it while a PR that merely plans one does not. Scaffolding does not ship at all (a policy set with `qe` 0.6.0): an unbuilt skill lives only as the plan in its **family's** tracking issue ([#3](https://github.com/QuantEcon/skills/issues/3) style and workplan, [#4](https://github.com/QuantEcon/skills/issues/4) benchmark, [#12](https://github.com/QuantEcon/skills/issues/12) audit — the families outlived the plugins they were named for), never as a shipped menu entry that reports it does nothing. Ideas nobody has committed to belong in the tracker as [low-priority enhancement issues](https://github.com/QuantEcon/skills/issues?q=is%3Aissue+is%3Aopen+label%3Aenhancement+label%3Alow-priority), each carrying its own merit assessment. The style-guide rule content is authored in `QuantEcon/style-guide`, never here — when the style skills land, this repo's `qe` plugin will consume a rendered snapshot ([project-style-guide#6](https://github.com/QuantEcon/project-style-guide/issues/6)).
Loading
Loading