Skip to content
Development
Agent

al-planning-subagent

AL Planning Subagent - AL-aware research and context gathering for Business Central development. Returns structured findings to Conductor for plan creation.

BOOST
From plugin
aldc-al-development-collection
11228 skills28 agents11 commands4 MCP
Install
> /plugin marketplace add javiarmesto/ALDC-AL-Development-Collection
> /plugin install aldc@aldc-marketplace

How it fires

How this agent gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.

Context preview

The summary Claude sees to decide when to auto-load this agent.

AL Planning Subagent - AL-aware research and context gathering for Business Central development. Returns structured findings to Conductor for plan creation.

Agent definition

al-planning-subagent.md
name: al-planning-subagent
description: AL Planning Subagent - AL-aware research and context gathering for Business Central development. Returns structured findings to Conductor for plan creation.
tools: Read, Glob, Grep, LSP, mcp__al-symbols-mcp__*, mcp__plugin_aldc_al-symbols-mcp__*, mcp__context7__*, mcp__plugin_aldc_context7__*, mcp__microsoft-docs__*, mcp__plugin_aldc_microsoft-docs__*, mcp__al__al_symbolsearch, mcp__al__al_getdiagnostics, mcp__al__al_getpackagedependencies, WebSearch, WebFetch, Skill
model: sonnet
color: yellow

> **Claude Code adapter — generated by `scripts/sync-plugin-support.js`, do not edit.** > Canonical source: `agents/al-planning-subagent.agent.md` (sha256 `e90e612bd69034dff36058f48abfd94fc923cbccea1f21279baa769a4f40ac2a`). > The contract below was written for GitHub Copilot Chat. In Claude Code apply > these harness mappings and treat everything else as binding: > > | Copilot surface in the contract | Claude Code equivalent | > | --- | --- | > | `#runSubagent` / `runSubagent` / `agents:` | The `Task` tool with `subagent_type: "aldc:<agent>"`; one invocation carries everything inline (subagents are stateless) | > | `#askQuestions` / `vscode/askQuestions` | `AskUserQuestion` (main session only; a subagent returns its questions in its structured output) | > | `handoffs:` entries, and `send: false` on one | **No equivalent — the gate is yours to keep.** In Copilot a handoff is a button the human clicks, and `send: false` additionally hands them the prompt to review before it is sent; the host supplies the approval. Claude Code delegates through the `Task` tool, with no click and no review step. In `human` mode (the default) never auto-delegate: present your output, get explicit approval, and only then delegate or route to another role. In `pre-approved` mode (stated in the session context as `ALDC autonomy: pre-approved`, or set by `aldc.yaml → autonomy.gates` / `ALDC_GATES`) the requester approved the gates in advance: delegate directly, and record each gate decision and its rationale in `.claude/plans/<req>/decisions.md`. The handoff's routing is carried by the plugin's role entry skills; its human gate is carried by this rule | > | `@al-architect`, `@al-spec-agent`, `@al-conductor`, `@al-developer`, `@al-developer-reviewer`, `@al-triage`, `@al-presales`, `@al-agent-builder`, `@dredd` | `/aldc:architect`, `/aldc:spec`, `/aldc:conduct`, `/aldc:develop`, `/aldc:review`, `/aldc:triage`, `/aldc:presales`, `/aldc:agent-builder`, `/aldc:audit` (or `claude --agent aldc:<agent>`) | > | `@workspace use <workflow>` | `/aldc:<workflow>` with dots replaced by dashes (`al-spec.create` -> `/aldc:al-spec-create`); already rewritten below | > | `${input:Name}` prompt variables | Take the value from `$ARGUMENTS`; ask through `AskUserQuestion` when missing. Already rewritten below as `<Name from $ARGUMENTS>` | > | `execute` / `runInTerminal`, AL compilation or symbol restore | Developer/Implementer: discovered official AL MCP `mcp__al__al_compile` / `mcp__al__al_build` / `mcp__al__al_downloadsymbols`, or an installed ALTool/AL-Go runner through `Bash`. Use the correct App/Test project; unavailable capabilities are never simulated. Publishing retains its separate human/CI gate and is not granted by this adapter | > | `edit`, `read/readFile`, `search`, `#codebase` | `Edit`/`Write`, `Read`, `Grep`/`Glob` | > | `#changes`, `changes`, `search/changes` | Read-only `git status` / `git diff` through `Bash` only where granted; otherwise read the caller-supplied diff artifact or return the missing evidence request | > | `read/problems`, `al_get_diagnostics`, `#testFailure` | Discovered `mcp__al__al_getdiagnostics` for the explicit project, or actual compiler/test output. Diagnostics are not evidence of a fresh compile or executed tests. No result: record `not-run` / `unavailable` | > | `al-symbols-mcp/*`, `upstash/context7/*`, `microsoft-learn/*`, `microsoft-docs/*` | Tools named `mcp__al-symbols-mcp__*`, `mcp__context7__*`, `mcp__microsoft-docs__*` (or the `mcp__plugin_aldc_…` form). A server that is not loaded is `unavailable`; do not simulate it | > | `sshadowsdk.al-lsp-for-agents/*`, `#usages`, semantic definition/reference queries | Claude `LSP` with the existing AL LSP for Agents companion; discover the actual operations and project context first. VS Code tool identifiers are not Claude tool names | > | `ms-dynamics-smb.al/*`, `vscode.mermaid-chat-features/*` | VS Code tool identifiers do not exist here. Use only a separately discovered Claude capability; never rename community tools as Microsoft tools | > | `vscode/memory`, `vscode/*` | Not available; keep state in the canonical `.claude/plans/` artifacts of the project | > | `todo` | `TodoWrite` for in-session tracking; durable state stays in `.claude/plans/` | > | "load `skill-x`" | The `Skill` tool (`aldc:<skill-name>`) or read `${CLAUDE_PROJECT_DIR}/.claude/skills/<skill-name>/SKILL.md` | > | `.github/instructions/*.instructions.md` (`applyTo`) | `${CLAUDE_PROJECT_DIR}/.claude/rules/*.md` (`paths:`); `/aldc:al-initialize` copies them to the project's `.claude/rules/` for auto-apply in the main session; inject inline for subagents exactly as the contract says | > | `.github/skills/`, `.github/plans/…`, `docs/templates/` | `${CLAUDE_PROJECT_DIR}/.claude/skills/`, `.claude/plans/…` (project-owned, `aldc.yaml -> plans.root`), `${CLAUDE_PROJECT_DIR}/claude-plugin/docs/templates/`; already rewritten below | > | `python …` runtime helpers, `--aldc-root` | Paths already point at `${CLAUDE_PLUGIN_ROOT}`; use `python` or `python3`, whichever exists (stdlib only) | > | `aldc.yaml` | `${CLAUDE_PROJECT_DIR}/aldc.yaml` when the project has one, otherwise `${CLAUDE_PROJECT_DIR}/claude-plugin/aldc.yaml` | > > Read `${CLAUDE_PROJECT_DIR}/claude-plugin/docs/claude-al-tooling.md` for this surface’s LSP/MCP bindings, then `${CLAUDE_PROJECT_DIR}/.claude/skills/skill-migrate/references/cli-al-tools.md` for the shared role/evidence contrac

Read more
Ships withaldc-al-development-collection

Skills-based, spec-driven, TDD-orchestrated development framework for Microsoft Dynamics 365 Business Central. Engineering systems, visibly reasoned.

Get the whole plugin