Skip to content

docs(plugins): say which spawn paths inject plugin context - #2327

Merged
tamirdresher merged 2 commits into
github:devfrom
joslat:joslat/2326-docs-plugin-context
Oct 28, 2026
Merged

tamirdresher merged 2 commits into
github:devfrom
joslat:joslat/2326-docs-plugin-context

Conversation

@joslat

@joslat joslat commented Oct 25, 2026

Copy link
Copy Markdown
Contributor

What

Docs only. The plugin docs now say which spawn paths inject plugin context. Today that's only the SDK's AgentLifecycleManager.spawnAgent(). The docs also say what users get on the other paths and how to point agents at installed plugin files.

Why

Closes #2326

features/plugins.md said every spawned agent gets a Plugin Context section built from .squad/plugins/runtime.json. Only AgentLifecycleManager.spawnAgent() calls buildActivePluginContext (agents/lifecycle.ts:283), and nothing in the shipped CLI creates one. The coordinator in the hosts, the interactive shell, squad watch, squad loop and the other SDK spawn helpers never read plugin state.

How

  • features/plugins.md:
    • The install walkthrough (:13) and the provider-contracts paragraph (:161) no longer promise injection on every spawn.
    • "Runtime behavior" gets a table of spawn paths (SDK AgentLifecycleManager, other SDK helpers, the coordinator in the hosts, the interactive shell, squad watch, squad loop), each with whether it injects. It also gets a workaround: name the file in your request, or reference it from a charter or skill.
    • The "disabled plugins" sentence now refers to the Plugin Context section specifically.
    • The MemPalace paragraph says installing the sample doesn't give agents a memory.
  • reference/plugin-security.md:9: provider summaries are added only on spawn paths that inject plugin context.
  • guide/building-extensions.md:157: plugin authors check installation with squad plugin list --json and point an agent at a file to test behavior, since a normal session won't load it.
  • samples/plugin-memory-mempalace/README.md: a short paragraph on what installing the sample actually does.

I wrote "the Squad interactive shell (squad with no arguments)" rather than squad shell, because there's no shell subcommand; bare squad opens it.

Not in this PR: making real host spawns see enabled plugins, for example a small digest file the spawn template points agents at. That's a design decision, so it's only mentioned in the issue.


⚠️ Quick Check

  • If SDK/CLI source files changed: N/A, docs only (no changeset needed)

PR Readiness Checklist

Branch & Commit

  • Branch created from dev (not main)
  • Branch is up to date with dev (9d7dff8)
  • Verified diff contains only intended changes (3 docs pages + 1 sample README)
  • PR is not in draft mode
  • Commit history is clean

Build & Test

Docs

  • Docs pages updated (3) and the sample README

Breaking Changes

None.

Waivers

None.

features/plugins.md said every spawned agent gets a Plugin Context section
built from .squad/plugins/runtime.json. Only the SDK's
AgentLifecycleManager.spawnAgent() does that; the coordinator in the hosts,
the interactive shell, squad watch, squad loop and the other SDK spawn
helpers never read plugin state. Correct plugins.md (with a table of spawn
paths and a workaround), plugin-security.md, building-extensions.md and the
MemPalace sample README.

Closes github#2326
@github-actions

github-actions Bot commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

🛫 PR Readiness Check

ℹ️ This comment updates on each push. Last checked: commit c9a8207

PR Scope: 🔧 Infrastructure

⚠️ 3 item(s) to address before review

Status Check Details
❌ Single commit 2 commits — consider squashing before review
✅ Not in draft Ready for review
✅ Branch up to date Up to date with dev
❌ Copilot review No Copilot review yet — it may still be processing
✅ Changeset present No source files changed — changeset not required
✅ Scope clean No .squad/ or docs/proposals/ files
✅ No merge conflicts No merge conflicts
✅ Copilot threads resolved No Copilot review threads
❌ CI passing 13 check(s) still running

Files Changed (4 files, +23 −8)

File +/−
docs/src/content/docs/features/plugins.md +19 −6
docs/src/content/docs/guide/building-extensions.md +1 −1
docs/src/content/docs/reference/plugin-security.md +1 −1
samples/plugin-memory-mempalace/README.md +2 −0

Total: +23 −8


This check runs automatically on every push. Fix any ❌ items and push again.
See CONTRIBUTING.md and PR Requirements for details.

@github-actions

Copy link
Copy Markdown
Contributor

🟡 Impact Analysis — PR #2327

Risk tier: 🟡 MEDIUM

📊 Summary

Metric Count
Files changed 4
Files added 0
Files modified 4
Files deleted 0
Modules touched 2

🎯 Risk Factors

  • 4 files changed (≤5 → LOW)
  • 2 modules touched (2-4 → MEDIUM)

📦 Modules Affected

docs (3 files)
  • docs/src/content/docs/features/plugins.md
  • docs/src/content/docs/guide/building-extensions.md
  • docs/src/content/docs/reference/plugin-security.md
root (1 file)
  • samples/plugin-memory-mempalace/README.md

This report is generated automatically for every PR. See #733 for details.

@tamirdresher

Copy link
Copy Markdown
Collaborator

Thanks Jose! Confirmed in packages/squad-sdk/src/agents/lifecycle.ts:283 that AgentLifecycleManager.spawnAgent() is currently the only path calling �uildActivePluginContext, so documenting the actual spawn path behavior and the charter/skill reference workaround is much clearer for users today. The merge-tree is clean against dev and I approved the CI runs. We are in a release freeze for 2.0.0-preview.2 and will merge this right after the release ships.

@tamirdresher
tamirdresher merged commit a87eee0 into github:dev Oct 28, 2026
21 checks passed
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.

Docs say enabled plugins are injected into spawned agents; only the SDK's AgentLifecycleManager does it

2 participants