int-project-context
Skill486 starsChanged 8 months agoMITView on GitHub
Shared project context for all Copilot Studio sub-agents. Provides project structure, schema lookup usage, and skill invocation guidance.
In this repository30 other files it gives its agents.
- add-actionSkill
- add-adaptive-cardSkill
- add-generative-answersSkill
- add-global-variableSkill
- add-knowledgeSkill
- add-nodeSkill
- add-other-agentsSkill
- analyze-evalsSkill
- chat-directlineSkill
- chat-sdkSkill
- chat-with-agentSkill
- clone-agentSkill
- create-eval-setSkill
- create-evalSkill
- detect-modeSkill
- directline-chatSkill
- edit-actionSkill
- edit-agentSkill
- edit-triggersSkill
- int-patternsSkill
- int-referenceSkill
- list-kindsSkill
- list-topicsSkill
- lookup-schemaSkill
- manage-agentSkill
- new-topicSkill
- run-evalSkill
- run-tests-kitSkill
- test-authSkill
- validateSkill
The file
We split this skill into the rules it gives an agent
7 rules. About 0 are common, 3 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 28
When you write new YAML files, be sure to use the schema lookup script to understand the schema, including mandatory fields, definitions, …
- Very specific: line 39
If you already know the specific definition you want to look up, use lookup.
- Distinctive: line 40
Always check the schema before writing YAML to ensure you include all required fields and use valid values.
- Distinctive: line 57
When to use this: When you need to understand available connectors, what inputs/outputs an action has, or what operations are available.
- Very specific: line 69
Agent Discovery: NEVER hardcode agent names.
- Very specific: line 71
Template
_REPLACE: Always replace _REPLACE placeholder IDs with unique random IDs. - Very specific: line 73
Generative Orchestration: When GenerativeActionsEnabled: true, use topic inputs/outputs instead of hardcoded questions/messages.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Copilot Studio — Shared Project Context
You are working inside a Copilot Studio agent project. All YAML files have the .mcs.yml extension.
Project Structure
<agent-dir>/ # Auto-discover via Glob: **/agent.mcs.yml
├── agent.mcs.yml # Agent metadata (display name, schema version)
├── settings.mcs.yml # Agent settings (schemaName, GenerativeActionsEnabled, instructions)
├── topics/ # Conversation topics (AdaptiveDialog YAML files)
├── actions/ # Connector-based actions (TaskDialog YAML files)
├── knowledge/ # Knowledge sources (KnowledgeSourceConfiguration YAML files)
├── variables/ # Global variables (GlobalVariableComponent YAML files)
└── agents/ # Child agents (AgentDialog YAML files, each in its own subfolder)Schema Lookup Script
When you write new YAML files, be sure to use the schema lookup script to understand the schema, including mandatory fields, definitions, and references. The script is located at ${CLAUDE_SKILL_DIR}/../../scripts/schema-lookup.bundle.js, and you can use it in the terminal as follows:
node ${CLAUDE_SKILL_DIR}/../../scripts/schema-lookup.bundle.js search trigger # Search by keyword
node ${CLAUDE_SKILL_DIR}/../../scripts/schema-lookup.bundle.js lookup SendActivity # Look up a definition
node ${CLAUDE_SKILL_DIR}/../../scripts/schema-lookup.bundle.js resolve AdaptiveDialog # Resolve with $refs
node ${CLAUDE_SKILL_DIR}/../../scripts/schema-lookup.bundle.js kinds # List all valid kind values
node ${CLAUDE_SKILL_DIR}/../../scripts/schema-lookup.bundle.js summary Question # Compact overview
node ${CLAUDE_SKILL_DIR}/../../scripts/schema-lookup.bundle.js validate <file.yml> # Validate a YAML fileIf you already know the specific definition you want to look up, use lookup. If you want to explore the schema around a certain topic, use search or summary.
Always check the schema before writing YAML to ensure you include all required fields and use valid values.
NEVER load the full schema file (reference/bot.schema.yaml-authoring.json) — it's too long. Always use the script above.
Connector Lookup Script
The connector lookup script is at ${CLAUDE_SKILL_DIR}/../../scripts/connector-lookup.bundle.js. Use it for any questions about connectors, actions, their inputs, and outputs:
node ${CLAUDE_SKILL_DIR}/../../scripts/connector-lookup.bundle.js list # List all connectors with operation counts
node ${CLAUDE_SKILL_DIR}/../../scripts/connector-lookup.bundle.js operations <connector> # List operations for a connector
node ${CLAUDE_SKILL_DIR}/../../scripts/connector-lookup.bundle.js operation <connector> <operationId> # Full details of one operation (inputs/outputs)
node ${CLAUDE_SKILL_DIR}/../../scripts/connector-lookup.bundle.js search <keyword> # Search operations across all connectors<connector> matches by API name (shared_office365) or partial display name (outlook).
When to use this: When you need to understand available connectors, what inputs/outputs an action has, or what operations are available. The action YAML files in the agent only show configured inputs — connector-lookup shows the full connector definition with all available inputs and outputs.
Skill-First Rule (VERY IMPORTANT)
You have access to specialized skills that handle YAML creation, editing, validation, and testing. ALWAYS invoke the matching skill instead of doing it manually.
Skills contain correct templates, schema validation, and patterns. Doing it manually risks hallucinated kind: values, missing required fields, and broken YAML.
Example skills include /copilot-studio:new-topic for creating new topics, /copilot-studio:add-action for adding connector actions and tools, and /copilot-studio:validate for validating YAML files.
If no skill matches, only then work manually — but always validate with /copilot-studio:validate afterward.
Key Conventions
- Agent Discovery: NEVER hardcode agent names. Always
Glob: **/agent.mcs.yml. - ID Generation: Random alphanumeric, 6-8 chars after prefix (e.g.,
sendMessage_g5Ls09). - Template
_REPLACE: Always replace_REPLACEplaceholder IDs with unique random IDs. - Power Fx: Expressions start with
=. String interpolation uses{}. Only use supported functions (checkint-referenceskill). - Generative Orchestration: When
GenerativeActionsEnabled: true, use topic inputs/outputs instead of hardcoded questions/messages.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

