docs: correct Agent Skills and Hooks pages against shipped behavior - #681
Open
tembo[bot] wants to merge 1 commit into
Open
docs: correct Agent Skills and Hooks pages against shipped behavior#681tembo[bot] wants to merge 1 commit into
tembo[bot] wants to merge 1 commit into
Conversation
Both repo-level configuration pages described behavior that does not match the current implementation, causing silent no-ops for users. Agent Skills: - Document the required <dotdir>/skills/<name>/SKILL.md layout; the old page named only the dotfile dirs, so skills placed at e.g. .claude/ were ignored - Correct the Cursor path to .cursor/rules/<name>/SKILL.mdc - Add the .agents/ dir used by Amp and Pi - Document required name/description frontmatter and its constraints; the previous example had no frontmatter and would have been skipped - Document built-in skills and managed-skill materialization - Drop the stale roadmap section (built-in skills and planning mode shipped) Hooks: - Note that prePush parses but is never executed - Document that postClone is skipped when a sandbox resumes from a snapshot - Replace the incorrect '&& is supported' claim: the exec wrapper silently drops everything after && / || / ;, and show the correct alternatives - Document silent fallback to defaults on malformed .tembo.json - Document the tembo.nix dev shell interaction and add troubleshooting
tembo
Bot
requested review from
Coleary005,
DarrenBaldwin07 and
benja
as code owners
August 7, 2026 08:19
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Workflows to automatically generate PRs for you. |
Contributor
Author
|
Requesting review from @benja who has experience with the following files modified in this PR:
|
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.
Documentation-only. Both repo-level configuration pages described behavior that does not match the current implementation, in ways that fail silently — users following the docs today get skills that are never discovered and hook commands that never run.
Every claim below was verified against source in the
tembo/monorepocheckout. No behavior was inferred.Docs updated
features/agent-skills.mdx(rewritten).claude/,.codex/, …)<dotdir>/skills/<skill-name>/SKILL.mdlayout.cursor/.cursor/rules/<skill-name>/SKILL.mdc.agents/(Amp, Pi)name/description+ constraintsSKILL.mdrequirement, sandbox path, Cursor conversion, and that all workspace skills load into every sessionfeatures/hooks.mdx(rewritten)prePushnever runs. It still parses, but has zero live call sites — the only invocations are commented-out legacy code. Previously documented as a working hook with a lint/test/build example.&&chaining silently truncates. The page previously stated "Shell features (piping, redirects,&&) are supported". The exec wrapper emitsexec <command>as the final line of a bash script, soexec npm ci && npm run codegenruns onlynpm ciand drops the rest with no error. Replaced with the correct guidance (separate array entries, or an explicitbash -c). Pipes and redirects do work and are documented as such.postCloneis skipped on snapshot resume, which was entirely undocumented..tembo.jsonsilently disables all hooks — validation is all-or-nothing and falls back to defaults. Added to troubleshooting with the common string-instead-of-array mistake.tembo.nixdev shell interaction (flake.nixis temporarily swapped and restored) and that hook failures are non-fatal.Codepaths covered
apps/api/src/agent/sandbox/temboConfig.ts—.tembo.jsonschema, parse fallback,runHook,prepareHookEnvironmentapps/api/src/agent/worker/tasks/agent_run/index.ts+worker/sandboxTask.ts—postClonecall site anddidResumeFromSnapshot()skip conditionapps/api/src/agent/sandbox/sandboxExecWrapper.ts—execwrapper (the&&truncation)apps/api/src/agent/worker/skills.ts— repo skill discovery regexes and frontmatter validationpackages/agent-runtime/src/runtime/harness/*/definition.ts+registry.ts— per-agentskillDir/entryFilenamepackages/agent-runtime/src/runtime/skills/index.ts+apps/api/src/agent/sandbox/utils.ts— built-in skills and managed-skill materializationValidation
mintlify broken-linkspasses site-widedocs.jsonnav (no nav changes)&&truncation reproduced directly in bash against a replica of the generated wrapper scriptorigin/main; merge dry-run reports no conflictsKnowledge gaps addressed
Both pages now describe failure modes that are invisible at runtime: a skill in the wrong directory or missing frontmatter, a
prePushblock that no-ops, a&&chain that half-executes, and a typo'd.tembo.jsonthat disables everything. None surfaced an error to the user before.In the live
agent_runtask,TemboConfig.loadFromSandboxreads.tembo.jsonfromsandbox.getCwd(), which is still the default/workspace—agent_runusessetupGit+tembo-refresh-reposand never callscloneRepo, which is the only thing that wouldsetCwdto the repo directory. Repos live at/workspace/<repo-name>/.If that reading is right, a
.tembo.jsoncommitted at a repo root is never found during normal sessions — only the golden-snapshot build path (services/hypervisor/qemu/prepare.ts) sets cwd per-repo and would pick it up. This looks like a regression from thesolve_issue→agent_runmigration rather than intended behavior, so I left the "repository root" guidance in place instead of documenting a likely bug. Worth confirming with the owning engineer; if it is a bug, the hooks page needs no further change once fixed.Also noted, out of scope for this PR:
features/rule-files.mdxdescribes a nine-file precedence list that no code in the monorepo implements (discovery is delegated to each agent CLI), andfeatures/max.mdxis orphaned fromdocs.jsonnavigation.Note
Low Risk
Mintlify MDX documentation only; no application code or runtime behavior changes.
Overview
Documentation-only update to
features/agent-skills.mdxandfeatures/hooks.mdxso they match how Tembo actually loads skills and runs hooks—addressing silent failures when users follow the old guidance.Agent Skills now documents three skill sources (repo, managed, built-in), per-agent directory layouts (including Cursor
SKILL.mdcand.agents/for Amp/Pi), required frontmatter and indexing rules, managed-skill sandbox paths and workspace-wide loading, a table of seven built-in skills, and removes outdated “coming soon” planning-mode copy.Hooks reframes hooks as sandbox setup (
postCloneonly in practice):prePushis documented as non-executing (back-compat only), with examples no longer suggesting lint/test on pre-push. New sections cover whenpostCloneruns (including snapshots), skip on snapshot resume,&&/||/;chaining pitfalls vs separate array entries orbash -c, non-fatal failures,tembo.nix/flake.nixswap during hooks, and troubleshooting for invalid.tembo.json(all-or-nothing validation).Reviewed by Cursor Bugbot for commit c8e0363. Bugbot is set up for automated code reviews on this repo. Configure here.