Translated skills in docs/ja-JP and docs/zh-CN link to rules/ and
references/ subfiles that only exist in the English skill, so those
links 404. Point them to the English originals under skills/.
Also fix the LICENSE badge links in docs/zh-CN and docs/zh-TW READMEs
and the scripts/hooks link in docs/ja-JP/hooks/README.md.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
examples/sessions was removed in d70bab85, so the link 404s.
Point it to the Session File Format section of commands/save-session.md
in the English guide and the es, ja-JP, tr and zh-CN translations.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Add a GitHub issue counterpart to the PR mode of /code-review. The
canonical workflow lives in skills/issue-review and walks nine phases:
fetch the issue with gh, build project context, classify type and
completeness, verify the claim against the code at HEAD, search for
duplicates and prior fixes, assess severity and decision, write a
review artifact with a draft reply, publish only on explicit flags,
and print a one-screen summary.
Issue text is treated as untrusted data: embedded instructions are
never followed, pasted code is never run, and arbitrary links are not
fetched. Writing to GitHub is opt-in via --comment or --label and the
workflow never closes, reopens, or assigns issues.
commands/issue-review.md is the thin slash-command shim. The new
structural test guards the frontmatter, required sections, phase
order, safety invariants, and registration on every surface.
Register the skill and command in package.json, agent.yaml, the
operator-workflows install module, the quick reference, the
command-agent map, and the README; regenerate the command registry
and sync catalog counts to 312 skills and 98 commands.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Signed-off-by: Tomoya.Fujita <fujita.tomoya@triorb.co.jp>
The sync.Pool example returned buf.Bytes(). That slice points into the
pooled buffer. The deferred Reset and Put give the buffer to the next
Get, so another goroutine can overwrite the result while the caller
still uses it.
Return bytes.Clone(buf.Bytes()) instead, and add a short note. Same code
fix in the five translations. pi/core regenerated with
scripts/build-pi-core.js.
Tested: 64 goroutines calling the example under go test -race (Go 1.27).
Old code: DATA RACE and wrong results. New code: passes.
node scripts/build-pi-core.js --check passes.
Replaces the golang part of closed PRs #3351 and #3405, which were not
merged.
flox/flox-agentic is archived; the Flox agent skills now live in
flox/flox-skills, which consolidates the former flox-services,
flox-builds, flox-containers, flox-sharing, and flox-cuda skills into
a single flox skill alongside floxify and flox-debug.
Update the Related Skills link and skill list in the English and
Japanese copies, and refresh the skill-triggers registry digest.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A claim write that times out can still land. When the guard fails
closed the handler never ran, so a late claim would make every retry
look like a replay of work that never happened; delete it once it
lands. Type the snippet so it passes tsc --strict against the real
packages, and close idle keep-alive sockets in the test on Node 18.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claim from the verified payload and matched requirements in the
resource server's onAfterVerify hook, so a forged header can no longer
reserve a legitimate payment's key, and an invalid payment takes no
claim. Fail closed on a store error or timeout by returning an abort
(a throwing hook is skipped and would run the handler unguarded);
document fail-open as an explicit, idempotent-only choice. Cover
Permit2 (BigInt nonce) and keep claims until validBefore/deadline.
The test now drives the real @x402/express middleware with payments
signed by the real @x402/evm client and a stand-in facilitator that
checks EIP-3009 signatures with viem, so verification, the hook, the
handler and settlement run in their real order. Adds exact-pinned,
test-only devDependencies and refreshes the registry digest.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The signer picks the EIP-3009 validBefore and verification does not cap
it at maxTimeoutSeconds, so a fixed 900 s TTL could drop the claim for
a still-valid authorization whose settlement failed, and a copy would
run the handler again. Expire claims at validBefore + 60 s (900 s
floor, one-year ceiling) with SET NX EXAT, using node-redis's current
option form. Also wrap messageBytes for createHash so the snippet
typechecks.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The claim timeout stops a request from waiting but does not cancel the
command, so a connected-but-silent Redis could accumulate abandoned SETs.
commandsQueueMaxLength bounds them; past the cap, claims reject at once
and the guard fails open. The test asserts the cap and counts unhandled
rejections in its summary.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- Connect to Redis in the background with an error listener and the
offline queue disabled, so an unavailable store never blocks startup
or crashes the process; bound each claim with a 250 ms timeout.
- Include the asset in EVM claim keys (EIP-3009 nonces are per token).
- Cap the payment header at 16 KB before storing anything, and note that
the path needs the same rate limits as any unauthenticated write.
- State the TTL rule: longer than maxTimeoutSeconds plus the slowest
handler run.
- tests/ci/agent-payment-x402-seller-guard.test.js runs the guard block
from all three documents: concurrent copies, key equivalence (EVM
re-encoding, asset, Solana fee-payer slot), offline and hanging store,
oversized and missing headers.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
x402 middleware verifies, runs the handler, then settles. Verification
does not consume the authorization, so concurrent copies of one signed
payment each run the handler; only one settles. Document a claim-once
guard keyed on the EIP-3009 (from, nonce) or the SVM signed message,
with an atomic insert before the payment middleware, failing open.
Mirrored in ja-JP and zh-CN.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Integrate contributor PRs #3533, #3534, and #3535 on current main. Preserve the read-only module audit, canonical glossary and ADR ownership, and opt-in install closure. Refresh only the manual trigger manifest registry binding and coverage after adding the skill.
Sources: #3689#3691#3692#3693. Preserve Claude marketplace migration guidance, tool-result boundaries, scoped workflow authority, and bounded batch preparation. Regenerate the Pi projection and recompute the shared registry digest on one main head.
Port #3656 onto current main, preserving both the contributor fix and the unrelated current changelog entry. Includes the follow-up glob normalization from 2c11fd74.
Line 13 still said 'Verify that 2.2.0 is readable' after the install
command was updated to @2.2.3. Align prose with the pin to remove the
version mismatch within the Quick Start section.
(cherry picked from commit b0b955541f)
The Quick Start section pinned ecc-universal@2.2.0 while every other
reference in the repo (README.md, and all other docs) uses @2.2.3.
This caused Antigravity users to install an outdated version.
Update the pin to @2.2.3 to match the rest of the codebase.
(cherry picked from commit a052b208e5)
* docs: correct MODULE_NOT_FOUND plugin cache path
Point the install command at cache/ecc/ecc/<version>.
The cache/ecc directory itself has no package.json.
* docs: explain the MODULE_NOT_FOUND version placeholder
Tell readers to replace <version> with the version from claude plugin list
before running the install command.
* docs: quote plugin cache version placeholder
---------
Co-authored-by: haelyra <49814733+haelyra@users.noreply.github.com>