Skip to content

Commit c2d55a3

Browse files
authored
Merge pull request #141 from WolframResearch/main
Release v2.0.0
2 parents f63b86b + a68ac35 commit c2d55a3

181 files changed

Lines changed: 14008 additions & 2477 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.claude-plugin/marketplace.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
},
77
"metadata":{
88
"description":"A collection of Wolfram agent skills",
9-
"version":"1.8.0"
9+
"version":"2.0.0"
1010
},
1111
"plugins":[
1212
{

.claude/skills/add-code-inspector-rule/SKILL.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,9 @@ Study the output to determine which node types and patterns to match. Key node t
5353
**Note:** If you want to use symbols defined in `Rules.wl` in the WolframLanguageEvaluator tool during your exploration, you'll need to use their fully qualified names:
5454

5555
```wl
56-
PacletDirectoryLoad["path/to/MCPServer"];
57-
Get["Wolfram`MCPServer`"];
58-
Wolfram`MCPServer`Tools`CodeInspector`Private`astPattern[...]
56+
PacletDirectoryLoad["path/to/AgentTools"];
57+
Get["Wolfram`AgentTools`"];
58+
Wolfram`AgentTools`Tools`CodeInspector`Private`astPattern[...]
5959
```
6060

6161
## Step 4: Read the Current Rules File
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
---
2+
name: review-spec
3+
description: >-
4+
Review a design specification in Specs/ against the actual codebase to find
5+
inaccuracies, potential issues, or things that need correction before
6+
implementation. Use when asked to: "review a spec", "check a spec for issues",
7+
"validate a spec", "find problems in a spec", "review the spec for [feature]",
8+
"audit a spec against the codebase", or any request to verify that a
9+
specification accurately reflects the current code and conventions.
10+
disable-model-invocation: true
11+
argument-hint: "spec filename or feature name"
12+
---
13+
14+
# Review a Design Specification
15+
16+
Review a design specification against the actual codebase to surface inaccuracies, missing details, convention violations, and potential issues — before implementation begins. The goal is to catch problems that would cause confusion or rework during implementation.
17+
18+
**Spec to review:** $ARGUMENTS
19+
20+
If no specific spec is given, ask the user which spec in `Specs/` they'd like reviewed.
21+
22+
## Process
23+
24+
### 1. Read the Spec
25+
26+
Read the full spec file. As you read, collect:
27+
28+
- **Referenced files**: Every source file mentioned (implementation touchpoints, code examples, "see also" references)
29+
- **Factual claims**: Specific assertions about existing code (option names/defaults, function signatures, symbol locations, data structures, file paths)
30+
- **New additions**: Symbols, options, files, or behaviors the spec proposes to add
31+
- **Behavioral descriptions**: How existing functions work, what they accept, what they return
32+
33+
### 2. Cross-Reference with the Codebase
34+
35+
Read all referenced files in parallel using the Explore agent or direct reads. For each file, verify:
36+
37+
- **Options and signatures**: Do the current options match what the spec claims? Are default values correct? Does the spec list all required changes?
38+
- **Symbol locations**: Are symbols declared where the spec says they should be (e.g., CommonSymbols.wl vs private context)? Follow existing conventions — if similar symbols are private in other files, new ones should be too.
39+
- **Function behavior**: Does the code actually work the way the spec describes? Look at the actual implementation, not just the signature.
40+
- **Naming and conventions**: Do proposed names follow codebase conventions (lowerCamelCase for internal functions, UpperCamelCase for exported, etc.)?
41+
- **Implementation touchpoints completeness**: Are there files that would need changes but aren't listed? For example, if a new path variable is added, does it need a declaration in CommonSymbols.wl AND a definition in Files.wl?
42+
43+
### 3. Check for Common Issues
44+
45+
Look specifically for these categories of problems:
46+
47+
**Factual inaccuracies:**
48+
- Option names or defaults that don't match the current code
49+
- Function signatures that accept different arguments than described
50+
- Symbols described as being in one location when they're in another
51+
- Properties or features attributed to objects that don't exist yet
52+
53+
**Missing touchpoints:**
54+
- Files that need changes but aren't listed in the implementation table
55+
- Intermediate helpers or utilities the spec assumes exist but don't
56+
- Test files, documentation, or configuration that should be updated
57+
58+
**Vague or ambiguous language:**
59+
- "such as" or "e.g." where a concrete decision is needed
60+
- Placeholder names that should be pinned down
61+
- Underspecified behavior for edge cases (e.g., what happens with `File[...]` targets?)
62+
63+
**Logical and ordering issues:**
64+
- Operations that could fail partway through, leaving inconsistent state
65+
- Missing error handling
66+
- Race conditions or atomicity concerns in multi-step operations
67+
68+
**Convention violations:**
69+
- Symbols proposed for shared contexts that are only used in one file (should be private)
70+
- Patterns that diverge from how similar features are already implemented
71+
- Error handling that doesn't follow the project's Enclose/Confirm/throwFailure patterns
72+
73+
### 4. Triage and Act
74+
75+
For each issue found, decide:
76+
77+
- **Straightforward fix** (wrong default value, vague language, missing file in touchpoints table): Edit the spec directly to correct it.
78+
- **Needs discussion** (design trade-offs, ordering concerns, architectural decisions): Present the issue clearly with the trade-offs so the user can decide.
79+
80+
Focus on the **top three issues by importance**. If there are more, mention them briefly but don't overwhelm. Importance is determined by how much implementation pain the issue would cause if left uncorrected.
81+
82+
### 5. Report
83+
84+
For each issue addressed:
85+
- State what the issue is
86+
- Explain why it matters (what would go wrong during implementation)
87+
- Show what you changed (for fixes) or present the options (for discussions)
88+
89+
If no significant issues are found, say so — then consider whether the spec could be improved in other ways (clarity, readability, completeness of examples).

.claude/skills/spec-to-todo/SKILL.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ Group related work into logical units, where each task represents roughly one co
6565
- **One concern per task.** A task should have a clear, testable outcome. "Implement the build script" is one task; "implement the build script and write all the documentation" is two.
6666
- **Order by dependency.** Tasks that others depend on come first (e.g., fix a manifest before generating scripts from it).
6767
- **Separate hand-authored from generated.** Writing documentation is a different task from writing the code that generates artifacts.
68-
- **Testing and evals are their own tasks.** Don't bundle "write tests" into implementation tasks.
68+
- **Include tests with non-trivial code.** If a task involves writing non-trivial code (new functions, modified logic, etc.), it should include writing and running unit tests for that code as part of the same task. Only create separate testing tasks for cross-cutting concerns like integration tests, end-to-end tests, or evals that span multiple tasks.
6969
- **Include file paths.** Every task should list the files it touches under a `**Files:**` line.
7070

7171
### 5. Write the TODO File
@@ -82,8 +82,9 @@ Each item is a logical unit of work for one coding session.
8282

8383
- [ ] **1. <Task title>**
8484

85-
<Description of what needs to be done and why. Include enough context
86-
that someone could pick this up without re-reading the entire spec.
85+
<Brief description clarifying which part of the spec this covers.
86+
Only include enough information to make it clear which part of the spec this covers.
87+
Don't repeat spec details — the reader has read the spec.
8788
Note any discrepancies found between spec and current state.>
8889

8990
**Files:** `path/to/file1`, `path/to/file2`

.cspell.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
"BUILDKIT",
55
"buildx",
66
"CICD",
7+
"Collatz",
78
"dpkg",
89
"Embedder",
910
"ENTITLEMENTID",
@@ -13,6 +14,7 @@
1314
"Legended",
1415
"libgomp",
1516
"llmkit",
17+
"lmverbose",
1618
"LOCALBASE",
1719
"MCPB",
1820
"mcpserver",
@@ -33,19 +35,23 @@
3335
"shdw",
3436
"skeletonize",
3537
"Skeletonizer",
38+
"stackdump",
3639
"streamable",
3740
"Stylesheet",
3841
"subcontext",
3942
"subcontexts",
4043
"Subsubsubsection",
44+
"Touchpoints",
4145
"unbuilt",
46+
"Underspecified",
4247
"unformat",
4348
"USERBASE",
4449
"USERPROFILE",
4550
"wolframalpha",
4651
"wolframengine",
4752
"WOLFRAMINIT",
4853
"wolframresearch",
54+
"worktrees",
4955
"zoomable"
5056
],
5157
"ignoreRegExpList": [

.github/workflows/Build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
timeout-minutes: 30
2323

2424
container:
25-
image: wolframresearch/wolframengine:14.2
25+
image: wolframresearch/wolframengine:14.3
2626
options: --user root
2727

2828
env:

.github/workflows/ExperimentalRelease.yml

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ env:
1717
WOLFRAMSCRIPT_ENTITLEMENTID: ${{ secrets.WOLFRAMSCRIPT_ENTITLEMENTID }}
1818
WOLFRAM_SYSTEM_ID: Linux-x86-64
1919
GH_INSTALL_URL: https://github.com/cli/cli/releases/download/v2.33.0/gh_2.33.0_linux_amd64.deb
20+
GH_INSTALL_SHA256: ea18a92a3e0a2a8edbca8d5ef368829ec8ced37571e0eb9d2c074917b0c5faae
2021
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2122
WOLFRAMINIT: -lmverbose
2223

@@ -26,7 +27,7 @@ jobs:
2627
timeout-minutes: 15
2728

2829
container:
29-
image: wolframresearch/wolframengine:14.2
30+
image: wolframresearch/wolframengine:14.3
3031
options: --user root
3132

3233
steps:
@@ -35,7 +36,8 @@ jobs:
3536
apt-get update && apt-get install software-properties-common -y
3637
add-apt-repository ppa:git-core/ppa -y
3738
apt-get update && apt-get install git -y
38-
wget ${{ env.GH_INSTALL_URL }} -O gh.deb
39+
curl -fsSL ${{ env.GH_INSTALL_URL }} -o gh.deb
40+
echo "${{ env.GH_INSTALL_SHA256 }} gh.deb" | sha256sum --check
3941
dpkg -i gh.deb
4042
4143
- name: Checkout
@@ -48,7 +50,7 @@ jobs:
4850
run: wolframscript -f Scripts/BuildMCPB.wls
4951

5052
- name: Rename Paclet File
51-
run: mv "${{ env.PACLET_PATH }}" "${{ env.PACLET_BUILD_DIR }}/Wolfram__MCPServer.paclet"
53+
run: mv "${{ env.PACLET_PATH }}" "${{ env.PACLET_BUILD_DIR }}/Wolfram__AgentTools.paclet"
5254

5355
- name: Update Release
5456
run: |
@@ -64,7 +66,7 @@ jobs:
6466
fi
6567
6668
gh release upload experimental \
67-
"${{ env.PACLET_BUILD_DIR }}/Wolfram__MCPServer.paclet" \
69+
"${{ env.PACLET_BUILD_DIR }}/Wolfram__AgentTools.paclet" \
6870
"${{ env.MCPB_PATH }}" \
6971
--clobber \
70-
--repo="${{ github.repository }}"
72+
--repo="${{ github.repository }}"

.github/workflows/IncrementPacletVersion.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
timeout-minutes: 15
2323

2424
container:
25-
image: wolframresearch/wolframengine:14.2
25+
image: wolframresearch/wolframengine:14.3
2626
options: --user root
2727

2828
steps:

.github/workflows/Publish.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
timeout-minutes: 30
2424

2525
container:
26-
image: wolframresearch/wolframengine:14.2
26+
image: wolframresearch/wolframengine:14.3
2727
options: --user root
2828

2929
env:
@@ -38,7 +38,7 @@ jobs:
3838
apt-get update && apt-get install software-properties-common -y
3939
add-apt-repository ppa:git-core/ppa -y
4040
apt-get update && apt-get install git -y
41-
wget ${{ env.GH_INSTALL_URL }} -O gh.deb
41+
curl -fsSL ${{ env.GH_INSTALL_URL }} -o gh.deb
4242
echo "${{ env.GH_INSTALL_SHA256 }} gh.deb" | sha256sum --check
4343
dpkg -i gh.deb
4444

.github/workflows/Release.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
timeout-minutes: 30
2424

2525
container:
26-
image: wolframresearch/wolframengine:14.2
26+
image: wolframresearch/wolframengine:14.3
2727
options: --user root
2828

2929
env:
@@ -57,7 +57,7 @@ jobs:
5757
timeout-minutes: 30
5858

5959
container:
60-
image: wolframresearch/wolframengine:14.2
60+
image: wolframresearch/wolframengine:14.3
6161
options: --user root
6262

6363
env:
@@ -71,7 +71,7 @@ jobs:
7171
apt-get update && apt-get install software-properties-common -y
7272
add-apt-repository ppa:git-core/ppa -y
7373
apt-get update && apt-get install git -y
74-
wget ${{ env.GH_INSTALL_URL }} -O gh.deb
74+
curl -fsSL ${{ env.GH_INSTALL_URL }} -o gh.deb
7575
echo "${{ env.GH_INSTALL_SHA256 }} gh.deb" | sha256sum --check
7676
dpkg -i gh.deb
7777

0 commit comments

Comments
 (0)