agent-engineering-experiment copilot-instructions.md

A set of coding instructions for a .NET project, covering its design principles, project layout, commands, secrets, and message flow. It also recommends TDD, which means writing tests before or alongside code.

In plain words
What is it for?
Building and running the .NET solution, configuring local secrets, understanding its ASP.NET Core and Aspire structure, and working on its Slack, browser, agent, and integration-test components.
Why use it?
It gives an agent the project context needed to build, run, and change the code consistently. It reduces guesswork about which projects to use, how services connect, and how tests should be written.

Instructions file for GitHub Copilot

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add instructions/thangchung/agent-engineering-experiment/copilot-instructions
Clone the repo
git clone --depth 1 https://github.com/thangchung/agent-engineering-experiment

Made for: GitHub Copilot.

Per session 1,551 This file is loaded in full into every session.
When invoked 1,551 The same file — it is already loaded in full.
Security scan A 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.01551 $0.01551
Opus 5 $0.00776 $0.00776
Sonnet 5 $0.00310 $0.00310
Haiku 4.5 $0.00155 $0.00155

Measured 3d ago against content hash 7a3c0b0124d2, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

agent-engineering-experiment copilot-instructions.md scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

| `ExecTool.cs` | Shell exec with safety blocklist (rm, sudo, curl, etc.) |
DotNetClaw/.github/copilot-instructions.md · 119 lines

How it starts

The opening of the file, as written. The whole thing — 119 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Copilot Instructions

Principles

  • KISS / YAGNI / DRY / Boy-Scout. Simplest thing that works.
  • Red-green TDD whenever possible.

Build & Run

dotnet build dotnetclaw.slnx              # build all projects
dotnet run --project DotNetClaw/DotNetClaw.csproj  # standalone
dotnet run --project DotNetClaw.AppHost/DotNetClaw.AppHost.csproj  # Aspire (coffeeshop-cli + DotNetClaw)

Secrets: dotnet user-secrets set "Slack:BotToken" "xoxb-..." etc. See appsettings.json for all keys.

Solution Structure

DotNetClaw/            Main ASP.NET Core app (net10.0)
DotNetClaw.AppHost/    Aspire orchestration (local dev, registers coffeeshop-cli + dotnetclaw)
DotNetClaw.ServiceDefaults/  Shared Aspire defaults (health, OTel, resilience)
DotNetClaw.Tests/      Integration tests (console runner)

Architecture

Slack user         Browser user
    ↓ Socket Mode      ↓ HTTP POST /api/chat
SlackChannel.cs    WebChannel.cs
    └──────────┬───────┘
               ↓  sessionId + text
          ClawRuntime.cs
          ConcurrentDictionary<sessionId, AgentSession>
               ↓
          AIAgent  (MAF 1.0 + GitHub Copilot SDK 0.2.1)
          ReAct loop + streaming + tool calling
               ↓
          CopilotClient  (spawns copilot-cli via stdio JSON-RPC)
               ↓
          mind/  directory  →  system message

Session IDs — one AgentSession per unique ID:

  • Slack DM: slack:dm:{userId}, Slack mention: slack:{channelId}:{userId}
  • Web: web:{cookieGuid}

File Map

File Role
Program.cs Composition root — DI, AIAgent factory, channel wiring, endpoints
ClawRuntime.cs Session store, per-session semaphore, HandleAsync / HandleStreamingAsync
SlackChannel.cs Slack Socket Mode — DM + @mention handlers, extension methods
WebChannel.cs HTTP chat API + static file serving, cookie-based sessions
MindLoader.cs Loads mind/SOUL.md + agent files + working-memory → system message
MemoryTool.cs Agent tools: AppendLog, AddRule, SaveFact (writes to mind/.working-memory/)
ExecTool.cs Shell exec with safety blocklist (rm, sudo, curl, etc.)
SkillLoaderTool.cs Skills via CLI or MCP from coffeeshop-cli (ListSkills, LoadSkill, ListMenuItems, LookupCustomer, SubmitOrder)
wwwroot/index.html Browser chat UI (vanilla HTML + JS, no framework)

Read the full file on GitHub · 119 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 3d ago First seen · 119 lines · 1,551 tokens per session scan A 7a3c0b0124d2

Subscribe to this mod's changes

agent-engineering-experiment copilot-instructions.md is an instructions file published in the GitHub repository thangchung/agent-engineering-experiment (24 stars, last pushed 1mo ago), licensed MIT. It adds 1,551 tokens to every session, about $0.0078 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other instructions, from other repositories