Repository navigation
Conversation
added 16 commits
October 30, 2026 01:36
The user guide now describes the trimmed Claude Code preload and the generated "Skills you can load" list, and the guide sync and fact-check tools follow the new skill rule. Content as on the original branch. Verified on this commit: - make build && make synth: pass - cd cli && make test: pass - make test-skills-sh: pass - uvx --with pyyaml pytest -q tests/: pass (223 passed) - make claude-plugin-check: pass - make guide-html: no change to the checked-in HTML - make guide-check: 1 failure, `config` listed in WITHDRAWN_COMMANDS but not declared by cli/README.md. Not from this change: the same failure appears on the lint branch and on the original branch head.
…tion and the name cap F3: "Adding a skill to an agent" now states the contract the guide checker already implements. skillNames is the on-demand set on both runtimes; claudeCli.skills is the Claude Code preload and normally a subset of it. The one exception is a skill that applies only on Claude Code and says so in its description (today claude-teams-behavior on konductor). check-guide-facts.py's comment now names the rule instead of one agent. Declined both code routes for F3: adding claude-teams-behavior to konductor's skillNames contradicts the skill's own description and would list a SendMessage-only skill in the Kiro prompt's skills index; a synth warning with a hardcoded allowlist names agents inside the CLI, which downstream packages cannot extend. F4 wording: the page now says synth warns past 32 KiB and fails past 32 names. The matching sentence in both HTML bundles and its PRELOAD_EDITS entry are updated; make guide-html is a no-op after. Verified on this commit: - make build && make synth: pass - cd cli && make test: pass - make test-skills-sh: pass - uvx --with pyyaml pytest -q tests/: pass (223 passed) - make claude-plugin-check: pass - make guide-html: no change - make guide-check: only the existing `config` WITHDRAWN_COMMANDS failure, also present on the original branch head
…sting it contributing.md says a skill may sit in clientConfig.claudeCli.skills without skillNames only if its description says it is for Claude Code. check-guide-facts.py unioned the two lists, so any undeclared preload passed. It now fails such a preload unless the skill's description mentions Claude Code. Verified on feat/claude-preload-docs (includes the merge of feat/claude-preload-trim-agents at 81a37a5): make guide-check reports the same single pre-existing failure before and after (the withdrawn `config` command, parked); on a scratch copy with `threat-modeling` added to k-tpm's preload, the new check fails as intended. make build && make synth exit 0, no preload warnings; cd cli && make test exit 0 (lib 1784 passed); make test-skills-sh exit 0; uvx --with pyyaml pytest -q tests/ 223 passed; make claude-plugin-check exit 0 (1 non-blocking ICON_MISSING directory warning); make guide-html leaves docs/ unchanged.
…emand The callout said the four skills were also wired into clientConfig.claudeCli.skills. After the preload trims none of them is preloaded, and the sentence modelled the pattern the contributing page now tells authors to avoid. Markdown, the bundle edit entry (chained off the published sentence) and both bundles changed together. Verified: sync-html-content.py reports no change; replaying the edit tables on the 137b bundles reproduces both bundles exactly; check-guide-facts.py has only its known config-withdrawal failure.
The verification row said it is preloaded into k-architect, k-developer and k-quality-assurance, but its Declared by cell named only the orchestrators. The cell now names all six agents, so check-guide-facts checks it by name instead of skipping an 'all ...' cell. Verified: check-guide-facts.py section 2 ok (only the known config-withdrawal failure remains); sync-html-content.py no change; replay of the edit tables on the 137b bundles matches both bundles.
…undeclared preload The check passed any description that mentioned Claude Code, so a general skill such as agents-md-authoring could be preloaded without skillNames. It now needs 'Claude Code only' or 'only in Claude Code', and the contributing page names those words. Verified: check-guide-facts.py reports only the known config-withdrawal failure; on a scratch copy with agents-md-authoring added to k-tpm's preload, the Claude-only check fails as intended.
… specs notes.md, reference.md and both bundles sum up the per-agent preloads as a range. The script checked each agent's count but not the range, so the next preload change would leave the prose stale. Verified: check-guide-facts.py reports the range ok (6 mentions) and only the known config-withdrawal failure; a scratch copy with '1 to 5' in notes.md fails the new check.
Verified: check-guide-facts.py unchanged (only the known config-withdrawal failure).
… by cell Every other bundle catalog cell shortens k-quality-assurance to QA; the verification entry spelled it out. The sync edit and both bundles now say "architect, developer, QA, all 3 orchestrators". Verified: sync-html-content.py preview reports no change on both bundles; the bundles are byte-identical; check-guide-facts.py fails only on the known config-withdrawal item.
…ge phrase
The check printed ok whenever no mismatch was found, including when it
found no "N to M skills" phrase at all, so rewording the prose ("between
1 and 4") would let a stale range return silently. Each page it reads
(notes.md, reference.md and both bundles) must now carry at least one
mention, or the check fails and says to update it.
Verified: check-guide-facts.py reports the range ok with 6 mentions;
rewording notes.md to "between 1 and 4 skills" makes it fail on
notes.md; only the known config-withdrawal failure remains otherwise.
The CLAUDE_ONLY_MARKER comment pointed to "Adding a skill"; the heading is "Adding a skill to an agent", as the same file quotes further down. Comment only.
…ude Code "Adding a skill to an agent" said naming a skill in skillNames was enough for both runtimes to load it on demand. On Claude Code that holds only when the agent's clientConfig.claudeCli.tools lists Skill, which synth warns about. One sentence after the JSON block now says so. Gate on this tree, from the worktree root: - make build && make synth: pass (no warnings) - cd cli && make test: pass (1836 passed, 0 failed) - make test-skills-sh: pass (10 scripts, 85 passed) - uvx --with pyyaml pytest -q tests/: pass (223 passed) - make claude-plugin-check: pass (only the existing ICON_MISSING warning)
… set The contributing appendix said an agent's clientConfig.claudeCli.tools "must list Skill". Synth only warns when the key is set without Skill; an omitted key writes no tools line and Claude Code grants every tool. Read literally, the old sentence told a contributor to add "tools": ["Skill"], which would cut the agent down to that one tool. Gate on this tree, from the worktree root: - make build && make synth: pass - cd cli && make test: pass (1836 passed) - make test-skills-sh: pass (10 scripts, 85 passed) - uvx --with pyyaml pytest -q tests/: pass (223 passed) - make claude-plugin-check: pass - check-guide-facts.py: preload range ok; only the known config WITHDRAWN_COMMANDS item fails, which predates this branch
20 tasks done
This branch has not been deployed
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.
Description
Stack: 4 of 9 in the skills stack. Base:
feat/claude-preload-trim-agents. Depends on #120, the lint PR and the trim PR, whose numbers and rules it documents. Third of three PRs that replace #137.Docs:
agents.md,skills.md,reference.md,notes.md,tasks/install-claude-code.md,appendix/contributing.md) and both HTML bundles: "Skills" is the declared count, with a separate preloaded count; skills load on demand on Claude Code. The preload rules are stated: the preload is a subset ofskillNames, except a skill whose description says it is Claude Code only, plus the 32-name cap.Skillentry inclientConfig.claudeCli.tools, and only when the spec setstools.Guide tools:
tools/user-guide-sync/check-guide-facts.pyasserts the declared and preloaded counts, checks the "1 to 4 skills" preload range against the specs (and fails when a page has no range phrase), and fails an undeclared preload unless the skill's description marks it Claude Code only.tools/build-user-guide/sync-html-content.pyandhtml_sop_edits.pycarry the matching bundle edits.Type of Change
Testing
npm test: not run (no JS changed).cd cli && make testpasses (nocli/change)feat/slim-cypress-test-implementation, which contains it):make build && make synth,cd cli && make test(1,836 Rust tests on the top, 0 failed),make test-skills-sh,uvx --with pyyaml pytest -q tests/(468 passed on the top),make claude-plugin-check. All pass.make guide-htmlleavesdocs/unchanged. A scratch copy with an undeclaredthreat-modelingpreload onk-tpmfails the new check as intended.make guide-check: one failure, the withdrawnconfigitem that also fails on main; no new failure.Checklist
Notes for Reviewers
clientConfig.claudeCli.skills, is fixed. Every finding has a fix commit.check-guide-facts.py, not by the CLI: declaring the skill would list a Claude-only skill in Kiro's index.