Claude Code adapter — generated by
scripts/sync-plugin-support.js, do not edit. Canonical source:prompts/al-agent.instructions.prompt.md(sha2561080481dc7f897b6a67f06ab8da8260d8bd67dddfdf34e3091a351711be64044). This workflow was written for@workspace use …in GitHub Copilot Chat. Apply these harness mappings and treat everything else as binding:
Copilot surface in the contract Claude Code equivalent #runSubagent/runSubagent/agents:The Tasktool withsubagent_type: "aldc:<agent>"; one invocation carries everything inline (subagents are stateless)#askQuestions/vscode/askQuestionsAskUserQuestion(main session only; a subagent returns its questions in its structured output)handoffs:entries, andsend: falseon oneNo equivalent — the gate is yours to keep. In Copilot a handoff is a button the human clicks, and send: falseadditionally hands them the prompt to review before it is sent; the host supplies the approval. Claude Code delegates through theTasktool, with no click and no review step. So never auto-delegate: present your output, get explicit approval, and only then delegate or route to another role. 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(orclaude --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 variablesTake the value from $ARGUMENTS; ask throughAskUserQuestionwhen missing. Already rewritten below as<Name from $ARGUMENTS>execute/runInTerminal, AL compilation or symbol restoreDeveloper/Implementer: discovered official AL MCP mcp__al__al_compile/mcp__al__al_build/mcp__al__al_downloadsymbols, or an installed ALTool/AL-Go runner throughBash. Use the correct App/Test project; unavailable capabilities are never simulated. Publishing retains its separate human/CI gate and is not granted by this adapteredit,read/readFile,search,#codebaseEdit/Write,Read,Grep/Glob#changes,changes,search/changesRead-only git status/git diffthroughBashonly where granted; otherwise read the caller-supplied diff artifact or return the missing evidence requestread/problems,al_get_diagnostics,#testFailureDiscovered mcp__al__al_getdiagnosticsfor the explicit project, or actual compiler/test output. Diagnostics are not evidence of a fresh compile or executed tests. No result: recordnot-run/unavailableal-symbols-mcp/*,upstash/context7/*,microsoft-learn/*,microsoft-docs/*Tools named mcp__al-symbols-mcp__*,mcp__context7__*,mcp__microsoft-docs__*(or themcp__plugin_aldc_…form). A server that is not loaded isunavailable; do not simulate itsshadowsdk.al-lsp-for-agents/*,#usages, semantic definition/reference queriesClaude LSPwith the existing AL LSP for Agents companion; discover the actual operations and project context first. VS Code tool identifiers are not Claude tool namesms-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 projecttodoTodoWritefor in-session tracking; durable state stays in.claude/plans/"load skill-x"The Skilltool (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-initializecopies 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 belowpython …runtime helpers,--aldc-rootPaths already point at ${CLAUDE_PLUGIN_ROOT}; usepythonorpython3, whichever exists (stdlib only)aldc.yaml${CLAUDE_PROJECT_DIR}/aldc.yamlwhen the project has one, otherwise${CLAUDE_PROJECT_DIR}/claude-plugin/aldc.yamlRead
${CLAUDE_PROJECT_DIR}/claude-plugin/docs/claude-al-tooling.mdfor this surface’s LSP/MCP bindings, then${CLAUDE_PROJECT_DIR}/.claude/skills/skill-migrate/references/cli-al-tools.mdfor the shared role/evidence contract. The Claude guide supersedes older capability-availability examples, never role responsibilities or human gates.
Workflow: Generate Agent Instructions
Applies the Responsibilities-Guidelines-Instructions framework from skill-agent-instructions to produce a runtime-ready instruction file. This prompt does not contain the framework — it executes it.
Load skill first: skill-agent-instructions (framework, keywords table, validation checklist, anti-patterns).
Output modes
- Designer mode → text ready to paste into the Agent Designer wizard
- SDK mode → text stored in
.resources/Instructions/InstructionsV1.txt, loaded viaNavApp.GetResourceAsText()returningSecretText, applied viaAgent.SetInstructions(UserSecurityId, InstructionsText)
Workflow
1. Gather inputs
From the developer:
- Agent purpose — one-sentence business goal
- Pages in scope — pages included in the agent's profile
- Fields to read/write — exact field names from those pages
- Actions to invoke — exact action captions on those pages
- Decision criteria — business rules for branching (if/then)
- Output format — how should the agent report results?
- Safety gates — which actions need user intervention?
2. Draft RESPONSIBILITY
One sentence with business domain + outcome. No paragraphs.
3. Draft GUIDELINES
3–7 cross-task rules. Required: at least one ALWAYS, one DO NOT, one safety gate for critical actions, one data-access boundary (read-only vs read-write).
4. Draft INSTRUCTIONS per task
For each task:
- Start with navigation (how does the agent reach the data?)
- Read and MEMORIZE context before decisions
- Apply business logic with explicit if/then branches
- Execute actions using proper keywords (see
skill-agent-instructionskeywords table) - Report results with structured Reply format
- Include error handling at the end of the task
5. Validate
Run through the validation checklist from skill-agent-instructions. Key items:
- Page/field/action names match agent profile exactly
- MEMORIZE placed BEFORE value is needed in later steps
- MEMORIZE includes example format
- Critical actions gated by user intervention or review
- Written in English
- Environment-agnostic (no hardcoded company names, URLs, user IDs)
- Error handling section per task
- No references to "Tell Me"
- Guidelines count is 3–7
- Stored in
.resources/Instructions/InstructionsV1.txt(SDK mode)
6. Test and iterate
Deploy → observe timeline → refine. Apply the "less is more" principle.
Reference
For the framework details, keyword tables, anti-patterns, and complete examples, consult skill-agent-instructions and ${CLAUDE_PROJECT_DIR}/.claude/skills/skill-agent-instructions/examples/.
Skills Evidencing
End with:
**Skills loaded**: skill-agent-instructions **Patterns applied**: - RGI framework — Responsibilities/Guidelines/Instructions structure - Keywords applied: {list keywords used: Navigate to, Memorize, Reply, etc.} - Safety gates: {list user intervention / review points}


