Skip to content

docs(takt): note that Takt does not inherit Codex skills by default - #2645

Merged
dyoshikawa merged 3 commits into
mainfrom
resolve-issue-2421-takt-skills-docs-note
Aug 9, 2026
Merged

docs(takt): note that Takt does not inherit Codex skills by default#2645
dyoshikawa merged 3 commits into
mainfrom
resolve-issue-2421-takt-skills-docs-note

Conversation

@dyoshikawa

Copy link
Copy Markdown
Owner

Part of #2421 (documentation slice from the 2026-07-30 comment). The issue stays open — gap 2 (assistant.init_files) and the runtime.yaml follow-up recorded on 2026-08-08 are untouched here.

The problem

Rulesync's codexcli skills adapter writes to .agents/skills/ (project) and $CODEX_HOME/skills (global). A Takt workflow driving Codex does not inherit repository or user skills from there by default, so skills a user generated silently never reach a Takt-driven Codex run. Nothing in the docs said so.

What the note says, and why it is not the note the issue proposed

The 2026-07-30 comment suggested one line telling users to enable provider_options.codex.skills.repo in their Takt workflow config. Taken literally today, that advice breaks people: the 2026-08-08 re-check on the same issue found that Takt 0.56.0's runtime.yaml makes provider_options in config.yaml a legacy signal — while runtime mode is active, its presence stops Takt with Mixed provider configuration detected before it runs an agent. Takt generates ~/.takt/runtime.yaml active on first launch in a fresh environment, so a new install is in runtime mode by default.

So the note carries the version split rather than the bare recommendation:

  • Up to 0.55.x, and on 0.56.0 with runtime.yaml inactive — provider_options in .takt/config.yaml, which is also where a takt block in .rulesync/permissions.* writes it.
  • From 0.56.0 with runtime.yaml active — provider.profiles.<name>.options in runtime.yaml, keeping provider_options out of config.yaml.

It also picks up the 0.55.0 status change the same comment recorded: Claude providers no longer inherit filesystem skills either (provider_options.claude.skills.enabled), and CLI-backed ones launch with --disable-slash-commands, so Rulesync-generated Claude Code skills and slash commands are off in Takt-driven sessions unless re-enabled the same way.

Placed beside the Codex CLI skills note in docs/reference/file-formats.md, since that is where the .agents/skills/ output is described. Docs-only; docs-content regenerated and sync-skill-docs clean. pnpm cicheck green.

Deliberately out of scope

The 2026-08-08 comment's proposed follow-up for the Takt permissions adapter — reading runtime.yaml for active-provider resolution, routing an authored provider_options to runtime.yaml or refusing the write, and the import round-trip that reintroduces the legacy key and breaks a migrated install — is a code change on a different owner and is not attempted here.

🤖 Generated with Claude Code

Rulesync's codexcli skills adapter writes to .agents/skills, and a Takt
workflow driving Codex does not inherit repo or user skills from there -
so generated skills silently never reach the run.

The flag's home depends on the Takt version: up to 0.55.x it is
provider_options in config.yaml, but from 0.56.0 runtime.yaml owns
provider configuration and a config.yaml provider_options stops Takt with
a mixed-configuration error. Record both, since a fresh install is in
runtime mode by default.
…shape

Review fact-check turned up two wrong claims in the new note. Rulesync
never resolves CODEX_HOME - global skills go to ~/.agents/skills via
getHomeDirectory - and a runtime.yaml profile's options is a flat bag for
that profile's own provider, so the codex segment must be dropped. The
nested spelling is not a schema error, it is just never read, which is the
worst kind of wrong for a setting you enable once and forget.

Also record the takt exec inheritance exception and 0.57.0's
capabilities: enable-skills preset, and correct the same CODEX_HOME
confusion where the note's author found it, in codexcli-skill.ts.
…ilities line

Upstream sets no upper bound on the legacy path: whenever runtime.yaml is
inactive - a file carrying only version: 1 counts - config.yaml provider
resolution still applies, so naming 0.56.0 specifically dropped 0.57.0 on
the floor. Also say plainly that capabilities is a workflow-side preset
reference rather than a third configuration file.
@dyoshikawa
dyoshikawa merged commit dbfc0ec into main Aug 9, 2026
9 checks passed
@dyoshikawa
dyoshikawa deleted the resolve-issue-2421-takt-skills-docs-note branch August 9, 2026 00:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants