> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trytrellis.app/llms.txt
> Use this file to discover all available pages before exploring further.

# v0.5.0-beta.17

> 2026-04-28

Beta.17 updates generated templates and platform integrations for built-in Trellis metadata, Pi subagents, and task context wiring.

## 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 |

Every platform skill root now receives `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                                             |

Subagent run configuration can come from `.pi/agents/*.md` frontmatter or per-call tool input:

```yaml theme={null}
---
model: anthropic/claude-sonnet-4
thinking: high
fallbackModels:
  - openai/gpt-5-mini
---
```

The extension maps those fields to Pi CLI args:

| 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 still keeps Trellis workflow skills under `.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 that `task.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                                                   |

These changes keep `implement.jsonl` and `check.jsonl` context loading tied to the Trellis agent names that receive injected task context.

## Upgrade

Existing projects:

```bash theme={null}
trellis update
```

No `--migrate` flag is required for this beta.
