Update chezmoi externals - #69
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
v2.1.220→v2.1.224v2.1.226(+1)v1.1.0→v1.2.3Release Notes
anthropics/claude-code (anthropics/claude-code)
v2.1.224Compare Source
What's changed
claude self-hosted-runnerturns your own machines or containers into a place Claude Code web, mobile, and desktop sessions can run, on Team and Enterprise plansarchiveplugin source: install plugins from a zip over HTTPS without git or npm, with optional SHA-256 pinningANTHROPIC_BEDROCK_REGION_PREFIXenv var for Bedrock to prefer a specific cross-region inference profile over theAWS_REGION-derived onecrossSessionInboundanddialogExpirysettings: cross-session messages sent to a session running with bypassed permissions are held for your approval, and messages to other sessions auto-deliverextractandonExtractNoMatchfor structured env values,decode: "jwt"withmaskClaimsfor JWT-aware masking, andawsPairs/sigv4for AWS SigV4 re-signing; these neednetwork.tlsTerminateand are honored only from user, managed, or--settingssettingsSendMessage: Claude Code sessions can now message each other, on any of your machines, withListAgentsto discover them (macOS and Linux)/resumeno longer cross projectsSendMessagereporting "Message sent" when the write to a teammate's inbox had actually failed; failed deliveries are now reported as errorsdenyRead: "~/.aws/") being silently bypassable on Linux and macOS/clearand other output-less commands/clearresets now propagate to attached clientsCLAUDE.mdinstructions), tool definitions, and model parameters. Secrets are redacted as before, and these fields are dropped first if the share is too large/resume--resume, SDK hosts, and the VS Code extension)remoteControlAtStartupwhen explicitly enabledv2.1.223Compare Source
What's changed
"owner/*") to thestrictKnownMarketplacesandblockedMarketplacesmanaged settings for allowing or blocking all marketplace repos under a GitHub org/teleporthint in cloud sessions showing how to continue locally withclaude --teleport <session id>import()to run code outside the workflow sandboxbypassPermissionsmode ignored the org bypass-permissions disable policy/cdcoming back emptyvertex_ai/claude-*orbedrock/anthropic.claude-*modelOverrideskeys that aren't Anthropic model IDs being treated as the session's canonical model ID; unknown keys are now ignored as documentedmanaged-settings.jsonor MDM profile; admin env now merges per keysandbox.filesystem.denyWritecovers the working directorygit pushoutputCLAUDE_CODE_DISABLE_1M_CONTEXTto hold every Claude model with a native 1M window to 200K via auto-compaction, not just a fixed list; a startup warning now appears when auto-compaction isn't holding the session to 200KCLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT=1to restore the previous behavior/reviewto be an alias of/code-review, which reviews the current diff or a PR (/code-review <level> <pr#>); use/code-review ultrafor a deep cloud review/code-reviewwith no effort level to reuse the level you typed last; type a level like/code-review highto change itv2.1.222Compare Source
What's changed
/usage-creditson Team and Enterprise showing "you've already sent a usage credit request" for members whose earlier request was dismissed, blocking them from sending a new one/usageoverattributing usage to MCP servers: a server's share now reflects only the requests that actually consumed its tool results, instead of every turn after any call to itmodel: opus-style subagent and teammate family aliases dropping to the parent model instead of stepping down to the newest org-allowed model in the familyANTHROPIC_BASE_URLgateways despite server keep-alive pings arriving on the wire/loginhint insteadSendMessagerejecting a long summary — it now truncates instead, so sends no longer fail on a character limiteffort:setting--ax-screen-readermode — end-of-line deletions now echo just the deleted charactersmanaged-settings.jsonwhenCLAUDE_CODE_PROVIDER_MANAGED_BY_HOSTis setSendMessageare now evaluated by the permission classifier before dispatchdisable-model-invocation: Claude is now told to ask you to run the skill instead of replicating its workflow/diffview, the Remote Control workspace diff, and file-edit diffs in Claude Code on the web sessions to use raw git blob content, ignoring workspace-configured diff drivers and textconv.claude/settings.jsonor.claude/settings.local.json) can no longer turn it on (they can still turn it off); enable it at user scope via/configv2.1.221Compare Source
What's changed
Ctrl+Alt+For the "Claude Code: Toggle Focus view" commandmode: "mask"for sandbox credential files on Linux and WSL — sandboxed commands read a sentinel copy (the whole file, or just the spans captured by anextractregex) while the sandbox proxy substitutes the real value on egress; on macOS file masking falls back todenyclaude plugin validatewhen a marketplace or plugin name would be rejected by Claude Desktop's managed marketplace syncprompt-auditsubcommand to theclaude-apiskill for auditing prompts and tool descriptions for patterns written for older models[[ ]]regex conditionals; affected commands now prompt for permission--mcp-confignot being connected before the first turn in print mode (-p), which made the model emit tool calls as literal textconstructorxhigh/maxwhen thinking is disabledHOMEenvironment variableCLAUDE_CODE_RESUME_INTERRUPTED_TURN=0not disabling interrupted-turn auto-resume; falsy values are now honored/help,/feedback) being un-invocable in non-interactive sessions/ultrareviewerror messages when a repo shares no history with its base: a checkout with no branches is now refused up front with advice to create one, and refusal hints no longer suggestgit fetch --unshallowon clones that are already completepowershell.exeno longer prompt/plugin installto refresh a stale marketplace catalog and retry before reporting a plugin not found/pluginto activate immediately when safe, instead of always requiring/reload-plugins"."as askillspath, and the root-levelSKILL.mdvalidation error now suggests using the plugin root/statusto show the session kind:interactive, or a background job that isattachedorunattended:thumbsup:,:thumbsdown:, and:love:/forkto create a new worktree of their own instead of working in the original session's checkoutmodelfield validation: non-string values are rejected with a 400 instead of being forwardedmattpocock/skills (mattpocock/skills)
v1.2.3Compare Source
Patch Changes
#779
efce423Thanks @mattpocock! - Makediagnosing-bugsredact secrets.SKILL.md. The skill has the agent show commands, outputs and captured artifacts; the section makes redaction the first move on each — write<REDACTED>, build loops against env vars so the credential stays in the environment, and quote only the signal-carrying lines of a captured artifact.scripts/hitl-loop.template.shthatcaptureprints its value back to the terminal, so it takes observations while signing in stays astep.#781
14bfbbdThanks @mattpocock! - Drop Claude Code's tool and agent-type names from the subagent-dispatch instructions incode-review,codebase-design, andimprove-codebase-architecture, so the step is followable on Codex and other harnesses.#783
c0fd1e9Thanks @mattpocock! - wizard: remove the time estimate. The template dropsTOTAL_MINUTESand the time-remaining display,stagetakes a name only, and progress is counted in stages.v1.2.2Compare Source
Patch Changes
#766
4aaccb5Thanks @mattpocock! - Makewriting-for-agentsmodel-invokable in Codex again.policy.allow_implicit_invocation: falsefromagents/openai.yaml. Codex filtered the skill out of the model-visible skills list, so its description could not trigger it — only an explicit$writing-for-agentsmention worked.interface.display_nameandinterface.short_description, which still named the oldwriting-great-skillsskill.README.mdandskills/productivity/README.md.v1.2.0Compare Source
Minor Changes
#551
697d4ceThanks @mattpocock! - Add Codex metadata alongside each skill's Claude Code frontmatter so the set works in both harnesses without generated copies.agents/openai.yamlbeside everySKILL.mdwith Codex UI metadata (interface.display_name,interface.short_description).policy.allow_implicit_invocation: false, the Codex analog ofdisable-model-invocation: true, so Codex excludes it from implicit invocation while explicit$skillinvocation still works..agents/invocation.md,CLAUDE.md, and the promoted-bucket READMEs.AGENTS.mdas a symlink toCLAUDE.mdso Codex reads the same repo instructions.#593
0f2bdbdThanks @mattpocock! - Graduateto-questionnaireout ofin-progress/into the Productivity bucket, so it ships in the plugin. It turns a decision you can't answer alone into a Markdown questionnaire for the one person who can — filled in async, or worked through together in a meeting.Its defining move is that it grills you about the send, not the subject: a normal grilling session interrogates the topic, which is exactly what you can't answer here, so the interview asks only who the questionnaire is going to and what you need back, then aims every question at the gap between the two.
Now wired as a promoted skill — plugin entry, top-level + Productivity READMEs under User-invoked, a docs page at
docs/productivity/to-questionnaire.md, and a Standalone route inask-mattframing it as the inverse of/grill-me(mine someone else, not yourself).#680
b3376f8Thanks @mattpocock! - Graduatewizardout ofin-progress/into the Engineering bucket, so it ships in the plugin — and make it model-invoked. It generates an interactive bash script that walks a human through a manual procedure — third-party setup, a one-off migration, an A→B state transition — opening each URL, saying what to click, capturing the values, and writing them into.envfiles and GitHub Actions secrets.The delightful UX is pre-solved by the bundled
template.sh(progress with time-remaining, confirmation gates, cross-platform URL opening including WSL, hidden secret entry, idempotent.envupserts,gh secret/gh variablewrites with graceful degradation, closing skip summary). Everything above theSTAGESmarker is a fixed library that's never hand-edited — the skill's job is only to scope the procedure and author its stages.Engineering rather than Productivity: it reads
.env*,docker-compose*, framework config and everysecrets.*/vars.*reference in.github/workflows/to scope itself, writes CI secrets, and verifies its output withbash -nandshellcheck.Because it is model-invoked, the agent can reach for it the moment it hits a step only a human can perform, instead of dumping numbered instructions into the chat and hoping you follow them. Typing
/wizardworks exactly as before — model-invocation only ever adds the agent's reach. The description is written as the pointer that decides when it fires: what it produces, four trigger branches (provisioning infrastructure, setting up credentials or CI secrets, walking an unfamiliar third-party dashboard, a one-off migration or cutover), and an explicit non-trigger — don't invoke it for steps the agent can perform itself. Work an agent can do, an agent should do; the wizard is for the clicks, approvals and dashboard trips you would not hand to one. The stage-list confirmation before a line is written now doubles as the proposal when the agent fires it mid-build.Now wired as a promoted skill — plugin entry, top-level + Engineering READMEs under Model-invoked, a docs page at
docs/engineering/wizard.md, and a Standalone route inask-mattfor the steps only a human can take. Model-invocation also puts it out of the reach of #693, which drops user-invoked skills from the listing on Claude's desktop and web surfaces.#763
77d207eThanks @mattpocock! - Reshape theprototypeskill around two ideas: the demo is a single shareable HTML file, and the prototype is a primary source.The logic branch now produces one self-contained file (plain HTML/CSS/JS, no build, no server) instead of a terminal app — a non-developer can open it by double-click and drive it in their own domain language: a labelled state panel, always-available free-play buttons, and a set of tabbed guided walkthroughs, each a scenario with the ordered buttons to press underneath it. The portable pure-logic module still lifts into the real code; the HTML shell is the throwaway.
Throwaway no longer means deleted. Rather than being removed once it has answered its question, the prototype is captured as runnable evidence on a throwaway branch (
prototype/<name>) out of main, with a context pointer to it left on the implementation issue — so the main branch keeps only the validated decision while the exploration stays findable. The answer (verdict + question) is still captured durably in an issue/ADR/commit.#536
42a5b70Thanks @mattpocock! - Ship the skill set as a native Claude Code plugin, listed in Claude Code's official marketplace. You can now subscribe to the promoted skills as a managed, read-only bundle instead of copying editable files:Or, from inside a session:
There is no marketplace to add first — the official marketplace is configured by default.
.claude-plugin/plugin.jsoncarries the full plugin metadata (version, description, author, license, keywords) and the explicit list of promoted skills.skills.shremains the universal installer (and the path for Codex and other harnesses today); a native Codex plugin is deferred — see.agents/adr/0002-ship-as-a-claude-code-plugin.mdfor why.#751
355fa74Thanks @mattpocock! - Addwait-what— a one-word corrective for model verbosity. Type it the moment a message doesn't land, and the agent re-pitches it: a little context, ASD-STE100 Simplified Technical English, and the ubiquitous language from yourCONTEXT.md. User-invoked, three lines long.The mechanism is the name. Concision skills fail by growing — a 400-line skill still leaves the model verbose — so this one is a single precise leading word and nothing else. Names that describe the output (
/tldr,/no-fluff) make the model clip words and lose you further; naming the listener's state asks for both halves at once, fewer words and the context you were missing. It also reuses the leading words already in your globalCLAUDE.md, so the skill,CLAUDE.mdand everyCONTEXT.mdreach for the same tokens.It repairs one message; it doesn't prevent the next one. The cure for jargon is a shared language built upfront with
/grill-with-docs; this is what you reach for when you don't have one yet.#763
77d207eThanks @mattpocock! - Name the/wayfinderunit a decision ticket, and burn research tickets down with subagents.People kept reading a wayfinder ticket as an ordinary implementation ticket — a slice of a build to execute — when wayfinder uses them as decision tickets: questions whose resolution is a decision. The skill description and its opening line now introduce the term (and say what makes it one), with the
ask-matt/ engineering README blurbs and the docs page matching — while "ticket" stays the everyday word once the term is established.CONTEXT.mdrecords Decision ticket as a domain term, so the "avoid: ticket" guidance no longer contradicts wayfinder's deliberate use of the word.Research tickets are no longer parked for a separately-launched session. Research stays a real ticket type — it's a genuine shared blocker that downstream decisions hang on, and that dependency is exactly what the frontier's blocking edges exist to render. What changes is how it's resolved: because research is AFK, charting doesn't stop and read it. After creating the tickets, the charting session fires a
/researchsubagent for each research ticket to burn it down in parallel, capturing the findings on a throwawayresearch/<name>branch with a context pointer. Research tickets are the one exception to one ticket per session.#763
77d207eThanks @mattpocock! - Breaking: renamewriting-great-skills→writing-for-agents, restructure it, and add a new leading word.The reference now covers any document an agent consumes — skills,
AGENTS.md/CLAUDE.md, docs reached by a pointer — not just skills.GLOSSARY.mdis merged intoSKILL.md(one authoritative treatment per term; the_Avoid_synonym lists and the standalone Predictability definition are gone); the skill-only mechanics (frontmatter, model- vs user-invoked, router skills, the invocation cut of splitting) are disclosed to a newSKILL-MECHANICS.md. The skill is now model-invoked: it fires when creating or editing skills or modifyingAGENTS.md/CLAUDE.md.ask-matt's pointer updated. Reinstall under the new name; the old name is gone (no alias).The pruning section gains cache. Single source of truth now reaches past the document into the environment —
package.jsonscripts, config files, directory layout,--helpoutput are themselves authoritative, so a doc that restates them is a cache of a lookup, earning its load only when the lookup is expensive. The positive target: cache what the agent cannot find by looking (unwritten conventions, the reason behind a choice, gotchas no config confesses), and leave one-file, one-command lookups to the environment, where they cannot go stale.#533
45afd80Thanks @mattpocock! - Add a YAGNI scoping filter to theimprove-codebase-architectureskill's Explore step. Instead of scanning the whole repo evenly, it now scopes to where change is actually landing: if you name a direction it takes it, otherwise it reads the last ~20 commit messages to bias exploration toward actively-developed paths. A deepening opportunity in code nobody touches is a refactor you'll never cash in — the leverage only pays off where you keep editing — so the report stops tidying dormant corners of the repo.Patch Changes
#763
77d207eThanks @mattpocock! - Sharpen/ask-matt— the router now covers phase boundaries, the two wayfinder mistakes, and two skills it never mentioned.Phase boundaries. A phase is a chunk of work inside a session — the grilling, the implementation, the QA — and the boundary between two of them is where you decide what to do with the context you've built. The two-bullet
Crossing sessionssection is replaced by a decision tree carrying all five options in order (continue,/clear,/handoff, subagent,/compact), with the reasoning disclosed in a newPHASE-BOUNDARIES.md. Three fixes come with it:/handoffwas oversold. It read as the general bridge between context windows. It's narrow: you need it only when something has to travel — a new harness, a new directory, a colleague, or a side task forked mid-phase. What it buys is portability./compactis the default, not the first reach. It sits at the bottom of the tree, after the four cheaper or more precise questions above it. Starting there produces a session that's confidently wrong about whatever the summary flattened.Context hygiene's escape hatch now says
/compactrather than/handoff(same harness, same directory, at a boundary — the handoff clause doesn't apply), and the smart zone figure is updated from ~120k to ~150k tokens.Wayfinder routing. The two mistakes people most often make with the heaviest, most cognitively demanding flow:
/grill-with-docs, not here./to-spec(which collapses the map's linked decisions into a buildable plan) rather than looping the map straight into/implement. Straight-to-/implementis only for efforts that turned out genuinely small.Missing routes.
/grillingand/resolving-merge-conflictswere absent from the router altogether and are now in it, andgrill-mesplits fromgrill-with-docson whether you are in a working directory.#502
44eed54Thanks @mattpocock! - Make/setup-matt-pocock-skillsfriendlier and align the local-markdown tracker with the current spec.triageskill is installed, and then as a single recommended-yes question ("keep the default triage labels?") instead of an override interrogation. Whentriageisn't installed, the section — anddocs/agents/triage-labels.md— are skipped.docs/agents/issue-tracker.mdlater..scratch/<feature>/issues/<NN>-<slug>.md— never a single combinedtickets.md./to-ticketsand the local issue-tracker template now agree, and the spec file isspec.md(notPRD.md) to match/to-spec.Docs pages for
setup-matt-pocock-skillsandto-ticketsre-synced.#532
170ad48Thanks @mattpocock! - Rewordgrillingfor general use. Its description and body no longer scope the interview to a software plan: "this plan" → "this", "enact the plan" → "act on it", and "exploring the codebase" → "exploring the environment". The technique is unchanged; it now reads as a stress-test of any plan, decision, or idea.#593
a4b2009Thanks @mattpocock! - Reworkgrillingfrom one-question-at-a-time to round-by-round. It now maps the decision tree and asks the whole frontier — every question whose prerequisites are already settled — in a single numbered round, then recomputes the frontier from the user's answers and asks the next round. Same 13 questions land in ~3 rounds instead of 13. Facts the environment can answer are dispatched to background sub-agents so research never blocks the round: only questions downstream of a running exploration wait for it. The session ends when the frontier is empty.Every question in a round is emitted in one fixed shape —
❓ **Q1** - **<title>**, then the body (prose or multiple choices), then the recommendation on its own➡️line. A round reads as a scannable numbered list with each recommendation visually separated from the question, so you can answer by number instead of quoting questions back.grill-me,grill-with-docsandtriagerun the frontier a round at a time as well —triage's grill step andgrilling's Codexshort_descriptionnow say so instead of describing the old rhythm. The opt-out for one-question-at-a-time (a line in your globalCLAUDE.md) is unchanged.#752
c66bdeeThanks @mattpocock! - Remove six skills from the repo. None of them was in the Claude Code plugin, but all six were installable through skills.sh, which serves every skill in the repo — so this is what leaves that listing, and where each one went.Four retired skills, each already absorbed by a skill that does the job better:
ubiquitous-language→/domain-modeling, which builds and maintains the whole domain model rather than dumping a glossary from one conversation.design-an-interface→/codebase-design. Nothing is lost: the "design it twice" technique — parallel sub-agents generating radically different designs, from Ousterhout — ships inside that skill asDESIGN-IT-TWICE.md.qa→/triageand/to-tickets.request-refactor-plan→/to-specand/improve-codebase-architecture.And two that were only ever mine — tied to my own machine and never meant for anyone else. The
personal/bucket goes with them:edit-articleobsidian-vault, which hardcoded a path to my own Obsidian vault.skills/deprecated/stays as a bucket, now empty.skills/in-progress/is unchanged and is now described for what it actually is: a beta channel, published on purpose, installable one skill at a time through skills.sh.#734
a2f9333Thanks @mattpocock! - Finish theto-prd→to-specrename: "spec" is now the only term in the shipped text.to-specno longer opens with "you may know this document as a PRD" — the parenthetical is dropped from the skill and its docs page. The local-markdown tracker template drops the same hedge.code-reviewtalks about the originating issue/spec rather than issue/PRD, in its frontmatter description, its two-axis summary, and the spec-source search order. Both READMEs re-synced.docs/engineering/research.mdpointed athttps://aihero.dev/skills-to-prd, a dead slug for the renamed skill; it now linksto-speclike the other nineteen docs pages do.The CHANGELOG and existing changesets still name PRDs where they document the rename itself, which is correct.
Configuration
📅 Schedule: (in timezone Asia/Tokyo)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.