Enhancements
Bundled trellis-meta skill
trellis-meta is now installed through the built-in skill template pipeline instead of requiring a separate marketplace install.
| Area | beta.17 behavior |
|---|---|
| Template source | packages/cli/src/templates/common/bundled-skills/trellis-meta/ |
| Template reader | getBundledSkillTemplates() reads complete skill directories |
| Template resolver | resolveBundledSkills() resolves placeholders across SKILL.md and references/** |
| Template writer | writeSkills() writes workflow skills plus bundled multi-file skills |
| Template tracking | collectSkillTemplates() includes every bundled skill file for update hash tracking |
trellis-meta/SKILL.md plus its reference files during trellis init and trellis update.
Pi subagent launcher and config
The generated Pi extension now launches nested Pi subagents through a Windows-safe process path and supports per-agent model settings.| Capability | beta.17 behavior |
|---|---|
| CLI resolution | Resolves @mariozechner/pi-coding-agent/dist/cli.js and runs it with process.execPath when available |
| Fallback | Uses spawn("pi", ...) when no JS entrypoint is found |
| Prompt transport | Sends delegated prompts through stdin instead of argv |
| Output mode | Runs child Pi with --mode text -p --no-session |
| Context | Forwards TRELLIS_CONTEXT_ID into child processes |
| Cancellation | Wires AbortSignal to child process kill/reject behavior |
| Output bounds | Keeps bounded stdout/stderr buffers with truncation notices |
.pi/agents/*.md frontmatter or per-call tool input:
| Input | Child Pi args |
|---|---|
model + thinking | --model <model>:<thinking> unless the model already has a thinking suffix |
model only | --model <model> |
thinking only | --thinking <level> |
.pi/skills. Shared .agents/skills remains deferred until the shared skill text is platform-neutral.
Workflow task slug wording
The Trellis brainstorm instructions now state thattask.py create --slug <auto> receives a slug without a date prefix.
task.py create adds the MM-DD- directory prefix automatically, so command examples no longer imply that callers should include the date in --slug.
Behavior Changes
Init completion output
trellis init no longer prints the promotional completion block.
The init completion path now stays focused on generated files, next actions, and testable onboarding output. Integration coverage asserts that the removed promotional pain-point copy does not return.
Bug Fixes
Subagent context wiring
Generated and dogfood platform files now preserve subagent context more consistently across host-specific payload formats.| Host / file | beta.17 behavior |
|---|---|
.claude/hooks/inject-subagent-context.py | Parses Cursor-style custom subagent payloads such as { custom: { name } } and { type: { case: "custom", value: { name } } } |
.claude/hooks/inject-workflow-state.py / .codex/hooks/inject-workflow-state.py | Workflow-state breadcrumbs require exact trellis-implement, trellis-check, or trellis-research agent names |
.cursor/hooks/session-start.py | Persists TRELLIS_CONTEXT_ID through CLAUDE_ENV_FILE for later Bash commands when that bridge is available |
AGENTS.md template | Documents that subagents must complete before yielding and when to spawn them |
implement.jsonl and check.jsonl context loading tied to the Trellis agent names that receive injected task context.
Upgrade
Existing projects:--migrate flag is required for this beta.