* feat(migration-legacy): migrate user skills from kimi-cli
The first-launch migration previously left ~/.kimi/skills/ behind: the
new scanner only reads ~/.kimi-code/skills/ and ~/.agents/skills/, so any
custom skills authored against kimi-cli silently disappeared after the
upgrade. Adds a skills step that copies top-level entries from
~/.kimi/skills/ into ~/.kimi-code/skills/ with skip-existing semantics,
wires it into the existing run-migration pipeline and result screen, and
surfaces the count alongside config/mcp/REPL-history.
* refactor(migration): hide OAuth from migration UX
OAuth credentials are deliberately never migrated (refresh tokens
rotate server-side, so two installs sharing one token would fight over
who gets refreshed). The previous UX framed this as a limitation: the
result screen carried a yellow ⚠ "kimi-cli login not migrated — run
/login" line, and the pre-migration summary listed "kimi-cli login
(needs /login)" alongside real migratable data classes, making users
think a login was about to be transferred and only the last step had
failed.
Drops both surfaces and short-circuits the pre-migration screen when
the only legacy data is `credentials/*.json`. kimi-code's own /login
flow handles re-auth on first use, so a dedicated migration notice is
redundant. The `report.notices.oauthLoginsRequiringRelogin` JSON field
is left intact for debugging.
* chore: changeset for skills migration and OAuth UX cleanup
* docs: enhance PR guidelines and template
* docs: refine contribution guidelines and issue templates
Clarify when to open an issue first, what can go straight to a PR,
and align CONTRIBUTING with the PR template without duplicating checklists.
Co-authored-by: Cursor <cursoragent@cursor.com>
* chore: update doc
---------
Co-authored-by: Cursor <cursoragent@cursor.com>
* feat(agent-core): add agent record migrations
* test(agent-core): include wire metadata in subagent fixtures
* docs(agent-core): document wire version format
- destroy stdout/stderr on abort to release stdio pipes held by detached daemons\n- use `exit` instead of `close` event to resolve exit promise
Co-authored-by: haozhe.yang <yanghaozhe@moonshot.ai>
Replace the single threshold of 7 with tiered reminders triggered at streak counts 3, 5, and 8.\nThe first reminder is a generic nudge, while the second and third include\nthe tool name, repeat count, and arguments for stronger guidance.
Co-authored-by: haozhe.yang <yanghaozhe@moonshot.ai>
Co-authored-by: Kai <me@kaiyi.cool>
* fix: hide empty current session from sessions list
* chore: add changeset for session picker fix
* fix: use TUI content state for session picker filtering
---------
Co-authored-by: qer <wbxl2000@outlook.com>