Repository navigation
Conversation
The plugin starts the release binary from PATH as
`inkbolt --workspace ${CLAUDE_PROJECT_DIR} mcp --tools core`, so a user's
project folder becomes the workspace with no build step. Its skill is
written in the words people use when they ask for icons, diagrams,
recolouring or exports, says when not to use Inkbolt, and covers the
missing-binary case with the release download.
evals/ holds four user-worded cases for `claude plugin eval` (three that
should use Inkbolt, one video request that shouldn't), with a mock built
from v0.82.0's real core tools/list and reply shapes.
The README's Get started section gains the two install commands.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…quires The engine recolours an imported shape only with op "vector" (its id, unchanged geometry and an RGBA fill); properties and fill reject colours. The mock now answers that way and names imported items svg-N with a source-id mapping, the recolour grader accepts the RGBA form, the diagram case names its font files, and evals/README.md gives the run command that keeps Claude's file tools out of the mocked runs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…eal contracts tools/list pages its 22 core tools; the mock now has all three pages and the skill names the direct preview, font-import and session tools. Recolouring sends the item's whole vector content back, since the vector operation clears what it isn't given. Text needs font_put plus add_svg font_bindings. An image import returns a receipt, placed with asset_put and an image item. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b9df1055c4
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…descriptor, ignored eval results A placed image item can't take pixel edits, so the skill sends retouching through sample.import. font_import returns the bare pinned descriptor, which font_put takes as its font. evals/.gitignore keeps the reports claude plugin eval writes under results/ out of Git and tools/check_repo.py. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
claude plugin eval compiles input_match as a JavaScript RegExp, which rejects (?i); match the RGBA form or either case of the hex instead. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
sample.import reads PNG or TIFF in v0.82.0 and needs storage: {} for all
but small images; SVG export accepts vector documents only. The skill
and the mock now say so, each checked against the release binary.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Compass review: ready to merge, but held (compass-merge, 2026-10-24, head 84b6b69)
|
What changed
This PR adds plugin files, a skill, eval cases and two README install commands. No source, test, Cargo or
tools/file changes..claude-plugin/plugin.jsonstarts the release binary from PATH asinkbolt --workspace ${CLAUDE_PROJECT_DIR} mcp --tools core. The user's project folder becomes the workspace, with no build step.mcpServerslives inplugin.json, not a root.mcp.json, so your own sessions in this repo aren't asked to approve a server..claude-plugin/marketplace.jsonnames the marketplaceinkbolt, so the install isclaude plugin marketplace add skulitom/Inkbolt, thenclaude plugin install inkbolt@inkbolt.skills/inkbolt/SKILL.md:add_svgedits withexpected_revision, preview, create-onlydocument.publish), checked against the release binary;evals/:evals/README.mdgives the run command, and four user-worded cases forclaude plugin eval. Three should use Inkbolt (an app icon from scratch, recolouring an SVG logo, a labelled README diagram that needs a font import). One should not (a video trim). The mock's_tools.jsonis v0.82.0's realtools/listwith--tools core, all three pages (22 tools). The_server.mdreply shapes and error codes come from the release binary:REVISION_CONFLICT,OUTPUT_EXISTS,PATH_OUTSIDE_WORKSPACE,INVALID_PATH,SVG_IO,SVG_FONT_NOT_BOUNDandUNSUPPORTED.The missing binary
With
inkboltoff PATH,claude mcp listshowsplugin:inkbolt:inkbolt … ✘ Failed to connect — CONNECTION_CLOSED. With the v0.82.0 Windows release on PATH it shows✔ Connected. Both were tested on a throwawayCLAUDE_CONFIG_DIRaftermarketplace addandinstall. The fix is the skill route: a "When Inkbolt isn't installed" section gives the release download, theSHA256SUMScheck, PATH, the macOS quarantine line,inkbolt --helpand a restart. A launcher that downloads the binary would mean new code in the plugin.Checks
claude plugin validate --strictpasses for both manifests (Claude Code 2.1.302).python -X utf8 tools/check_repo.py,--public, andtests/test_repo_guard.py(14 tests) pass. Every new file is.json,.mdorevals/.gitignore, LF.claude plugin eval, Claude Code 2.1.302, both arms, one run per case,--disallow-tools Glob Grep Readasevals/README.mdsays; onda84b81): 4/4 cases pass.84b6b69after it changed only the skill's photo and SVG lines and the matching mock lines, which none of the four cases uses.op: "vector"with the item's whole content (propertiesandfillreject colours).tools/listpages (22 tools, not 8).sample.import(PNG or TIFF in v0.82.0, withstorage: {}).font_putplusfont_bindings, andfont_importreturns a bare descriptor.evals/results/are git-ignored, so the guard stays green.84b6b69, found "No actionable regressions".For your sessions: proposed, not changed (your source)
Instructions (
initialize.instructions, 568 characters today). Prepend one sentence on when to choose Inkbolt:First replies (v0.82.0,
--tools core, measured over MCP):tools/list, first page (8 tools)tools/list, all three pages (22 tools)schema.lookupindexschema.lookupoperation(outline)schema.lookupdocument.publish(outline)schema.lookupdocument.publishselect: Options6(the output fields)schema.lookupsession.publishThe tool definitions make up
tools/list. The largest areinkbolt_session_publish(12,451 characters),inkbolt_document_preview(7,031) andinkbolt_session_diff_preview(5,692).Directory listing: the repo has 966 tracked files. Repos of about 500 or more files time out in the Anthropic directory's validation, so listing Inkbolt there needs a plugin-only repo like
skulitom/cutbolt-plugin.Merge
This PR is docs and metadata only, under the FOCUS rule "Discoverability" and Artem's 2026-10-16 yes. Verify takes 80 to 120 minutes here, longer than the follow-up run that opened it, so compass-merge merges it at its next run once Verify passes on the final head, under RULES.md "Pull requests".
Compass ledger item C-065.
🤖 Generated with Claude Code