Repository navigation
Reduce GitHub-via-Kody friction: secret placeholder docs, runtime import hints, camelCase repo target aliases - #674
Conversation
…d secret capability text, hint kody:runtime import on bare ReferenceError, accept camelCase repo target aliases, reference merge-pr in ship-pr skill
📝 WalkthroughWalkthroughThis PR adds documentation and capability description updates for referencing saved secrets via ChangesSecret placeholder documentation and skill guidance
Repo target camelCase alias normalization
Executor missing runtime import detection
Estimated code review effort: 2 (Simple) | ~12 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Warning Review ran into problems🔥 ProblemsGit: Failed to clone repository. Please run the Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
🔎 Preview deployed: https://kody-pr-674.kody-a99.workers.dev Worker: Mocks:
|
Why
Working GitHub through Kody (the ship-pr loop) surfaced repeated friction: the
{{secret:name}}placeholder is documented only indocs/use/, not where agents look mid-flow; a barekody is not definedReferenceError gives no hint thatimport { kody } from 'kody:runtime'is required;repo_open_sessionrejects the camelCase field spellings agents guess first; and the ship-pr skill had no merge step, so every agent reinvented the merge call.What
docs/guides/secret-backed-integration.md: new "Using a saved secret infetch" section documenting the{{secret:name}}/{{secret:name|scope=user}}placeholder with a worked example and safety rules.secret_list/secret_setcapability descriptions now mention the placeholder form, so agents discover it from the capability itself.getExecutionErrorDetailsrecognizesX is not definedReferenceErrors forkody:runtimeexports (kody,secretHeaders, …) and returns aruntime_import_missingdetail whose next step spells out the exact import to add. Unknown identifiers stay unhinted.repoTargetSchemaacceptskodyId/packageIdas aliases for the snake_case fields and normalizes them, ending the guess-fail-retry round trip..agents/skills/ship-pr/SKILL.mdreferences the newkody:@kentcdodds/github-pr-tools/merge-prandget-pr-checkspackage exports (published separately as a Kody package update).Companion package update (already published)
@kentcdodds/github-pr-toolsgainedmerge-pr,get-pr-checks, and agithub-clientexport (ghRestFetch/ghGraphQL/getGhTokenPlaceholder), and its token discovery now prefersgithub-kentAccessToken,githubAccessToken,githubPersonalAccessToken,githubToken, then any secret matching/github.*(token|pat)/i, with an explicitgetGhTokenPlaceholder(tokenSecretName)override.System recap — extends existing primitives (medium risk)
Mode: recap · Base:
main@5339aa9c· Head:ee256fa2Classification: extends — two capability contracts gain additive behavior (a new execution-error detail kind and input alias normalization); no primitives added.
Primitives touched
capabilities-executeruntime_import_missingerror detail kind with import hintrepo-sessionsrepo_open_sessiontarget accepts camelCase aliasescapability-registrysecret_list/secret_setdescriptionsSystem map
Before / after
Testing
runtime_import_missingparser (hinted exports, prefixed message, unknown-identifier passthrough) and for camelCase alias normalization inrepo_open_sessioninputs.execute:get-pr-checkson PR Deslop round 2: real bug fixes — env binding stripping, D1 param limit, silent catches, missing 401 handling #672 (passing, 6 checks),ghRestFetchrepo lookup, andmerge-prinput validation.Summary by CodeRabbit
New Features
Bug Fixes
Documentation