In my previous post, Copilot in SharePoint Skills – Building a Contracts Dashboard, I introduced Skills in AI in SharePoint and built a contract management dashboard Skill. This post covers SHAREPOINT.md, a site context file released alongside Skills that I think is one of the most powerful things you can add to a process-heavy SharePoint site right now. I’ll walk through how I’ve used it on my contract management site and share the actual file.

What Is a SHAREPOINT.md?
SHAREPOINT.md is a plain-text Markdown file you upload to the Agent Assets library on a SharePoint site. AI in SharePoint reads it as site-level context before responding to any prompt or Skill. Think of it as the standing brief you give a new team member before they start answering questions on your behalf.
You can use it to:
- Improve your Skills: give them the site-specific context they need to produce accurate, process-aware responses
- Guide users through your processes, step by step, in your organisation’s exact terms
- Define your libraries, lists, and columns so the AI knows what everything means and where to look
- Set hard rules: tell the AI what it must and must not say or imply
- Override generic SharePoint knowledge and replace assumptions with facts specific to your site
SHAREPOINT.md is made up of Markdown sections and headers containing information about your site and it’s processes. Each section actively shapes how the AI interprets questions, but more on what those sections are in a moment.
The context file capability is part of the AI in SharePoint public preview, which has been running since late 2025. Skills are the newer addition, landing just a few weeks ago. The two features are complementary: Skills define how the AI acts, and the context file defines what the AI knows about your site.

How I Figured Out What to Put In It
As far as I can tell, there is no official Microsoft Learn documentation for SHAREPOINT.md. No problem. One of the great advantages of Copilot in SharePoint since the Anthropic models have been more widely used is that you can just ask the AI directly if you’re stuck with any functionality or need examples. That is exactly what I did here.
I entered a prompt along the lines of:
“Tell me everything you know about SHAREPOINT.md. Provide recommended headers and example sections. Tell me how you as the AI best use SHAREPOINT.md and provide tips for what works well. Output all of this to SHAREPOINTMDINFO.MD in the Documents library.”

The output gave me a solid starting point: recommended section headings, example content, and tips on how the AI actually interprets and uses the file. Here is a quick reference for the recommended sections and what the AI uses each one for:
| Section | AI in SharePoint uses it to… |
|---|---|
| Site name & overview | Understand the site’s purpose and interpret every question in that context |
| AI guidance | Follow hard rules about what to say and what never to say or imply |
| Document libraries | Know which library to reference and what the key columns mean |
| Lists | Understand where reference data lives and how it feeds into processes |
| Key pages | Direct users to the right page when they ask where to find something |
| Terminology & definitions | Interpret site-specific terms, column names, and feature names correctly |
| Workflows & processes | Walk users through exact steps and flag which ones are manual |
| Guidelines & policies | Enforce site rules when advising users on how to work with content |
| Contacts & ownership | Point users to the right person when it can’t help |
A few tips worth keeping in mind: use real column names, include valid values for status columns, and test it after uploading. If the answers don’t improve, the instructions need to be more specific.
From there, building out the contract management version was much easier. If you’re starting from scratch with your own SHAREPOINT.md, I’d recommend doing exactly the same thing.
With that covered, let me walk through the site I built this for and show you exactly what I put in the file. I’ll share the full SHAREPOINT.md in the post so you can use it as a starting point for your own.
REFERENCE: Here is my sharepointmdinfo.md info export if you wish to see what Copilot in SharePoint says.
Everything You Need to Know About SHAREPOINT.md
What Is SHAREPOINT.md?
SHAREPOINT.md is a special markdown file that lives in the AgentAssets document library of a SharePoint site. It serves as the site context document — a structured reference that the AI agent (Copilot in SharePoint) reads to understand the purpose, structure, and content of your site.
Think of it as a “README for your SharePoint site” that teaches the AI about your organization’s specific context, terminology, workflows, and content so it can provide smarter, more grounded responses.
Where Does It Live?
/sites/YourSite/AgentAssets/SHAREPOINT.md
The AgentAssets library is a dedicated document library created to store agent plans, skills, and contextual information as markdown files.
How Is It Created or Updated?
- Via Copilot: You can ask Copilot to create or update the SHAREPOINT.md file using the
set_context_filetool. Copilot will guide you through a conversation to gather information about your site before writing the file. - Manually: Site owners can also directly create or edit the file in the AgentAssets library.
How the AI Uses SHAREPOINT.md
When Copilot operates on a SharePoint site, it reads SHAREPOINT.md to gain contextual understanding. Here’s specifically how it helps:
1. Grounding Responses
The AI uses the context in SHAREPOINT.md to provide answers that are relevant to your site, not generic SharePoint answers. For example, if your SHAREPOINT.md explains that “Active” is a document library for signed contracts, the AI won’t confuse it with a status label.
2. Understanding Site Structure
By knowing which libraries, lists, and pages exist — and what each one is for — the AI can route requests more accurately. If a user asks “where do I put a new contract?”, the AI can point them to the right library based on the documented structure.
3. Interpreting Terminology
Every organization has its own jargon. SHAREPOINT.md lets the AI understand that “KA” means a specific business unit, or that “Drop Off Library” is where documents are uploaded for processing.
4. Providing Workflow Guidance
When workflows and processes are documented, the AI can guide users through multi-step procedures, explain approval chains, and suggest next steps.
5. Answering Questions About the Site
Users often ask “What is this site for?” or “What can I find here?” — SHAREPOINT.md gives the AI a direct, authoritative answer rather than forcing it to guess from metadata alone.
Recommended Headers and Structure
Below is a recommended template with all the headers you should consider including. You don’t need every section — use what’s relevant to your site.
Top-Level Headers
| Header | Purpose |
|---|---|
# Site Name | The title of your site — sets the context immediately |
## Overview | Brief description of the site’s purpose, audience, and scope |
## Document Libraries | Describes each document library with its purpose and organization |
## Lists | Describes each list, its columns, and how it’s used |
## Key Pages | Important pages on the site and what they contain |
## Workflows & Processes | Business processes, approval chains, automation rules |
## Terminology & Glossary | Organization-specific terms and abbreviations |
## Roles & Permissions | Who uses the site and what access levels exist |
## Guidelines & Policies | Rules for content management, naming conventions, retention |
## Integrations | Connections to Power Automate, Power Apps, Teams, etc. |
## FAQ | Common questions and answers about the site |
## Contacts | Key people responsible for site content or administration |
Full Example SHAREPOINT.md
Below is a fully fleshed-out example based on a contracts management site:
<pre class="wp-block-syntaxhighlighter-code"># Contracts (KA) — Site Context
## Overview
This site is the central hub for the KA business unit's contract lifecycle management.
It stores contract drafts, active signed contracts, and supporting documents. The site
supports contract creation, review, e-signature workflows, and archival.
**Audience:** Legal team, contract managers, project managers, and executive approvers.
**Owner:** Leon Armston (Admin)
## Document Libraries
### Drafts
- **Purpose:** Stores contracts that are in progress — being drafted, reviewed, or awaiting signature.
- **Organization:** Files are organized by contract type (Consulting, Licensing, NDA, etc.).
- **Key columns:** Contract Type, Client Name, Status, Assigned Reviewer, Due Date.
- **Naming convention:** <code>[ClientName]_[ContractType]_[YYYYMMDD].docx</code>
### Active (eSignature)
- **Purpose:** Contains contracts that have been fully executed (signed by all parties).
- **Organization:** Filed by client and year.
- **Note:** Documents here are typically PDF format after e-signature completion.
### Contract Drop Off Library
- **Purpose:** An intake library where users upload new contract documents for processing.
- **Workflow:** Uploaded documents are automatically categorized and routed to the Drafts library for review.
### Presentation Drop Off Library
- **Purpose:** Stores presentation materials related to contract negotiations and client pitches.
### Documents (Shared Documents)
- **Purpose:** General-purpose document storage for supporting materials, templates, and reference documents.
## Lists
### (If applicable, describe any lists on the site)
- List name, purpose, key columns, and how items flow through statuses.
## Key Pages
- **Home**: Site landing page with quick links to libraries and recent activity.
- **ContractsSearch.aspx**: A custom search page for finding contracts across all libraries by client name, date, type, or status.
## Workflows & Processes
### Contract Creation Workflow
1. User uploads a new contract to the **Contract Drop Off Library**.
2. The document is reviewed and moved to the **Drafts** library.
3. A reviewer is assigned and the status is set to "In Review."
4. After approval, the contract is sent for e-signature.
5. Once signed, the contract moves to the **Active** library.
### Approval Chain
- **Level 1:** Assigned Reviewer (legal team member)
- **Level 2:** Contract Manager
- **Level 3:** Executive Sponsor (for contracts above $50,000)
## Terminology & Glossary
| Term | Meaning |
|------|---------|
| KA | The business unit this site serves (Kilo Alpha division) |
| Drop Off | An intake library where documents are uploaded for routing |
| Active | A fully signed and executed contract |
| Draft | A contract still in progress or under review |
| eSignature | Electronic signature process for contract execution |
## Roles & Permissions
| Role | Access Level | Description |
|------|-------------|-------------|
| Site Owner | Full Control | Can manage site settings, libraries, and permissions |
| Contract Manager | Edit | Can create, edit, and manage contracts |
| Reviewer | Contribute | Can review and comment on contracts |
| Viewer | Read | Can view contracts but not edit |
## Guidelines & Policies
- **Naming convention:** All contracts must follow <code>[ClientName]_[ContractType]_[YYYYMMDD]</code> format.
- **Retention:** Signed contracts are retained for 7 years. Drafts older than 1 year without activity are archived.
- **Confidentiality:** All contracts are confidential by default. Do not share outside the site without approval.
- **Version control:** Major versions are enabled on all libraries. Check in documents after editing.
## Integrations
- **Power Automate:** Automated flows handle document routing from Drop Off libraries and e-signature triggers.
- **Microsoft Teams:** The site is connected to the "KA Contracts" Teams channel for notifications.
- **Adobe Sign / DocuSign:** Used for electronic signature workflows on approved contracts.
## FAQ
**Q: Where do I upload a new contract?**
A: Use the Contract Drop Off Library. It will be automatically routed for review.
**Q: How do I find an existing contract?**
A: Use the ContractsSearch.aspx page to search by client name, date, or contract type.
**Q: Who do I contact about a contract issue?**
A: Reach out to the Contract Manager listed in the Contacts section below.
## Contacts
| Role | Name | Email |
|------|------|-------|
| Site Owner | Leon Armston | admin.leon@devm365.leonarmston.com |
| Contract Manager | (Name) | (email) |
| Legal Lead | (Name) | (email) |</pre>
Tips for What Works Well
Content Tips
- Be specific, not generic. Don’t write “This library stores documents.” Write “This library stores fully executed PDF contracts organized by client and fiscal year.”
- Include column names. When describing lists and libraries, mention the key metadata columns. This helps the AI map user questions to the right fields (e.g., “Who is assigned to this contract?” maps to the “Assigned Reviewer” column).
- Document your naming conventions. The AI can help users follow standards if it knows what they are. Include file naming patterns and folder structures.
- Explain your terminology. If your org uses abbreviations (like “KA”), acronyms, or industry-specific terms, define them. The AI will use these definitions to interpret user queries correctly.
- Describe workflows end-to-end. Step-by-step process descriptions help the AI guide users through multi-step tasks and explain what happens next.
- Keep it current. SHAREPOINT.md is only as good as its last update. When you add new libraries, lists, or change processes, update the file.
- Use tables for structured data. Tables for terminology glossaries, role definitions, and column descriptions are easy for the AI to parse and reference.
Structural Tips
- Use clear, hierarchical headings.
#for the site name,##for major sections,###for individual libraries/lists. This structure helps the AI navigate the document. - Put the most important information first. The Overview section should immediately tell the AI what the site is about. Don’t bury the purpose in paragraph 5.
- Use bullet points over paragraphs. Bulleted lists are easier for the AI to parse and reference than dense prose.
- Keep it under ~3,000 words. Long enough to be comprehensive, short enough to be fully consumed. Focus on what’s unique to your site — don’t restate general SharePoint features.
Strategic Tips
- Write it from the AI’s perspective. Ask yourself: “If I were an AI assistant on this site, what would I need to know to help users effectively?” That’s your content.
- Include FAQs for common user questions. If users frequently ask “Where do I find X?” or “How do I do Y?”, pre-answer those questions in the FAQ section. The AI will surface these answers directly.
- Describe what each library is NOT for. Negative guidance (“Do NOT upload unsigned contracts to the Active library”) prevents the AI from giving incorrect advice.
- Test your SHAREPOINT.md by asking Copilot questions. After creating it, ask the AI site-specific questions and see if the answers improve. Iterate based on gaps.
- Collaborate with your team. Site owners know the structure, but daily users know the pain points. Get input from both when writing the context file.
Summary
| Aspect | Details |
|---|---|
| File name | SHAREPOINT.md |
| Location | /sites/YourSite/AgentAssets/SHAREPOINT.md |
| Format | Markdown (.md) |
| Purpose | Teaches the AI about your specific site |
| Created by | Copilot (via conversation) or manually by site owners |
| Updated by | Copilot (set_context_file tool) or manual edit |
| Best length | 500–3,000 words |
| Key sections | Overview, Libraries, Lists, Pages, Workflows, Glossary, FAQ |
| Biggest impact | Terminology, workflows, and library/list descriptions |
SHAREPOINT.md is one of the most impactful things you can do to improve your Copilot experience on a SharePoint site. It takes 15–30 minutes to write a good one, and the payoff is immediate — smarter, more grounded, more helpful AI responses tailored to your organization.
A Quick Recap: The Contract Management Site
I will now show you how SHAREPOINT.md is used in my Contract Management site. The site manages the full contract lifecycle for a consulting business. It has two document libraries, two supporting lists, and a custom search hub page built with PnP Modern Search v4.
A quick bit of history worth sharing here. This entire lifecycle used to be handled end-to-end by SharePoint Agreements, a first-party Microsoft solution that I was a big advocate for and used internally. It handled contract generation, approval, eSignature, and active contract management as a fully automated, integrated flow. It was genuinely excellent. Sadly Microsoft discontinued it after a preview, which was a real shame. This demo site is my attempt to replicate that experience as closely as possible using the out-of-the-box tools available in M365, hence the manual steps between stages. Hopefully one day this can all be automated again. You can still find the SharePoint Agreements overview on Microsoft Learn if you’re curious what it covered.
The contract lifecycle on this site runs across five steps, every one of which after the first requires a manual user action:
- Generate: User creates a contract
.docxvia Content Assembly in the Drafts library using the Contract – Consulting Agreement template. - Request Approval: User manually clicks the Approval status pill badge in the Drafts library and submits a request. The approver reviews and responds via Microsoft Teams.
- Promote to Active: User manually selects the approved file and runs the “Promote File” rule from the command bar. This moves the
.docxto the Active library. - Send for eSignature: User manually opens the
.docxin Microsoft Word Desktop, initiates M365 eSignature, and maps the signature fields. This does not happen automatically on promotion. - Signed PDF returned: Once all signatories have signed, a signed PDF lands in the Active library automatically. A Power Automate flow then deletes the original
.docx, leaving only the signed PDF. An Autofill rule detects the_signed.pdffilename and updateseSignedStatusto ‘eSigned’.
Nothing flows automatically from one stage to the next. That is a critical detail, and exactly the kind of thing a SHAREPOINT.md can make users aware of or help with automation.
Why a Contract Site Needs One
A contract site built on custom processes, a specific creation method, and manual steps at every stage is exactly the kind of site where a generic AI gets things wrong. Without a context file, a user asking “How do I create a new contract?” might be told to upload a .docx or create a new document. A user asking what happens after approval might be told the contract flows to the next stage automatically. Neither answer is correct for this site, and both could leave users either creating contracts the wrong way or waiting indefinitely for something that will never happen by itself.
The SHAREPOINT.md I Authored
Here is the full file I created for this site. I’ll break down the most important sections below.
View the full SHAREPOINT.md (Click to Expand)
# Contract Management Site
Central site for managing the full contract lifecycle — from draft creation through approval, eSignature, and active contract management.
## Overview
This site is used to create, approve, sign, and monitor consulting contracts. It is built around two document libraries (Drafts and Active), two supporting reference lists (Clients and Contractors), and a search hub page (ContractsSearch.aspx) built with PnP Modern Search v4.
Contracts are always created using Content Assembly — never by uploading a file manually. Every stage after creation requires a manual user action. Nothing flows automatically from one step to the next.
**How Copilot uses this:** This is the primary grounding context. Every question about contracts, files, approvals, or processes on this site should be interpreted through this lens. If a user asks how to create a contract, always direct them to Content Assembly — not to upload or create a document manually.
## ⚠️ AI Guidance — Contract Lifecycle
**CRITICAL:** Every step after contract generation requires manual user action — nothing is automated between steps.
### Contract Creation
Always direct users to **Content Assembly** in the Drafts library:
1. Go to the **Drafts** library
2. Click **New → Contract – Consulting Agreement**
3. Fill in the form (Client, Contractor, Fee, Dates, etc.) — fields pull from the Clients and Contractors lists
4. SharePoint Content Assembly generates the .docx from the template
**Do NOT** suggest uploading a .docx manually, generating contract text as a file, or describe this as “upload or create a document”. The only supported creation method is via Content Assembly.
### Full Process — Manual Steps
1. **Generate** — User creates the contract via Content Assembly. AI Autofill populates library columns.
2. **Request Approval** — User manually clicks the Approval status pill badge and submits a request. The approver manually approves or rejects via Microsoft Teams.
3. **Promote to Active** — User manually selects the approved file in Drafts and runs the **”Promote File”** rule from the command bar. This does NOT happen automatically on approval.
4. **Send for eSignature** — User manually opens the .docx in Microsoft Word Desktop from the Active library, initiates M365 eSignature, and maps the signature fields. This does NOT happen automatically on promotion.
5. **Signed PDF** — When signatories complete signing, a signed PDF is returned automatically. An Autofill rule detects the _signed.pdf filename and updates eSignedStatus to ‘eSigned’.
6. **Monitoring** — Expiration alerts (30 days before) are sent automatically via rules. All other monitoring is manual via ContractsSearch.aspx.
**Do NOT** describe the lifecycle as automated, use phrasing like “the contract then flows through…”, imply one step triggers the next, or omit manual transitions.
## Document Libraries
### Drafts Library
Stores unsigned .docx contract drafts awaiting approval.
Key columns:
– **Agreement Date** — Date the contract was agreed
– **Agreement Number** — Reference number extracted from the document
– **Client Name** — Name of the client organisation
– **Client Address** — Address of the client
– **Contractor Name** — Name of the contractor
– **Contractor Address** — Address of the contractor
– **Contracting Service** — Type of service provided
– **Expiration Date** — Contract end date
– **Fee Amount** — Contract value in GBP (£)
– **Termination Notice (Days)** — Notice period required
– **Word Count** — Total words in the document (Autofill)
– **Characters** — Total characters in the document (Autofill)
– **Approval status** — 1 = Requested/Pending, 3 = Approved. Displayed as a custom pill badge
**How Copilot uses this:** When a user asks about creating, editing, or approving a contract, direct them to this library. Contracts here are in progress and not yet active or signed.
### Active Library
Stores fully signed and active contracts — primarily eSigned PDFs. Also temporarily holds .docx files awaiting eSignature after promotion from Drafts.
Key columns:
– **Agreement Date** — Date the contract was agreed
– **Agreement Number** — Reference number extracted from the document
– **Client Name** — Name of the client organisation
– **Client Address** — Address of the client
– **Contractor Name** — Name of the contractor
– **Contractor Address** — Address of the contractor
– **Contracting Service** — Type of service provided
– **Expiration Date** — Contract end date. Red = expired, yellow = <90 days, green = >90 days
– **Fee Amount** — Contract value in GBP (£)
– **Termination Notice (Days)** — Notice period required. Red ≤90 days, yellow ≤180 days, green >180 days
– **eSignedStatus** — ‘eSigned’ if signed PDF, ‘Unsigned’ if .docx, blank otherwise. Green pill = eSigned, red pill = Unsigned
**How Copilot uses this:** When a user asks about signed contracts, expiring contracts, or contracts awaiting eSignature, refer to this library. The eSignedStatus and Expiration Date columns are the key indicators of contract state.
> The site also contains a Contract Drop Off Library and a Presentation Drop Off Library. These are not part of any current process and are pending deletion. Do not direct users to these libraries.
## Lists
### Clients
Master list of client organisations. Used to populate Client Name and Client Address when creating a contract via Content Assembly.
Columns: Title (client name), Address
**How Copilot uses this:** When a user asks how client details get into a contract, explain that they are pulled from this list during Content Assembly. Direct users here if they need to add or update a client before generating a contract.
### Contractors
Master list of contractor organisations. Used to populate Contractor Name, Contractor Address, Service, and Termination Period when creating a contract via Content Assembly.
Columns: Title (contractor name), Address, Service, Termination Period (Days)
**How Copilot uses this:** When a user asks how contractor details or termination periods get into a contract, explain that they are pulled from this list during Content Assembly. Direct users here if they need to add or update a contractor before generating a contract.
## Key Pages
– **ContractsSearch.aspx** — The main search and discovery hub for all contracts. Contains 5 tabs: Active, Draft, Expiring Soon, Awaiting Approval, Awaiting eSignature. Has a keyword search box and sidebar filters for Contractor, Client, Service, Fee Amount, Agreement Date, and Expiration Date. This is the primary place users go to find, search, and monitor contracts.
**How Copilot uses this:** When a user asks where to find a contract, check its status, or see what is expiring, direct them to ContractsSearch.aspx and the relevant tab.
## Terminology & Definitions
– **Content Assembly** — The SharePoint feature used to generate contract .docx files from the Contract – Consulting Agreement template. The only supported method for creating a new contract on this site.
– **Promote File** — A SharePoint list rule that manually moves an approved .docx from the Drafts library to the Active library. Must be run by the user from the command bar. Does not trigger automatically on approval.
– **M365 eSignature** — Microsoft 365 eSignature, initiated manually from Microsoft Word Desktop. Used to send the contract to signatories for signing.
– **eSignedStatus** — Column in the Active library showing signing status. Values: eSigned (green pill), Unsigned (red pill), or blank.
– **Approval status** — Column in the Drafts library showing approval state. 1 = Requested/Pending, 3 = Approved.
– **Autofill** — AI-powered feature that automatically extracts and populates library columns (Client Name, Fee Amount, Expiration Date, etc.) from the document content when a file is created or uploaded.
– **Active library** — The document library that holds contracts promoted from Drafts. Contains both .docx files awaiting eSignature and signed PDFs.
– **Drafts library** — The document library that holds unsigned contract .docx files at various approval stages.
– **PnP Modern Search v4** — The open-source SharePoint search framework used to build ContractsSearch.aspx.
**How Copilot uses this:** Use these definitions to interpret user questions correctly. If a user says “Promote File” they mean the manual rule in the command bar, not an automatic step. If they say “Autofill” they mean the AI column extraction, not a form field.
## Workflows & Processes
### Contract Creation
1. User goes to the Drafts library and clicks New → Contract – Consulting Agreement
2. User fills in the form — client and contractor details pull from the Clients and Contractors lists
3. Content Assembly generates the .docx from the template
4. Autofill automatically populates library columns from the generated document
### Contract Approval
1. User manually clicks the Approval status pill badge on the contract in the Drafts library
2. User submits an approval request, naming the approver and adding context
3. Approver receives a Microsoft Teams notification and manually approves or rejects
4. On approval, Approval status updates to 3 (Approved)
5. User must then manually run the Promote File rule from the command bar to move the file to the Active library — this does NOT happen automatically
### eSignature
1. User locates the .docx in the Active library
2. User manually opens it in Microsoft Word Desktop
3. User initiates M365 eSignature and maps signature fields
4. Signatories receive requests and sign
5. A signed PDF is returned automatically to the Active library
6. A Power Automate flow automatically deletes the original .docx once the signed PDF arrives — only the signed PDF remains
7. An Autofill rule detects the _signed.pdf filename and updates eSignedStatus to ‘eSigned’
### Contract Monitoring
– Expiration alerts are sent automatically 30 days before expiry via a SharePoint rule
– Users monitor active contracts via the Active and Expiring Soon tabs on ContractsSearch.aspx
– Expiration Date and Termination Notice columns use conditional formatting to highlight contracts needing attention
**How Copilot uses this:** When a user asks how to do something on this site, walk them through the exact steps above. Always make clear which steps are manual. Never imply a step happens automatically unless it is explicitly listed as automatic above.
## Guidelines & Policies
– **Contract creation:** Always use Content Assembly. Never upload a .docx manually.
– **Promotion:** Always run the Promote File rule manually after approval. Does not happen automatically.
– **eSignature:** Must be initiated manually from Microsoft Word Desktop. Does not trigger automatically on promotion.
– **Signed PDF cleanup:** Once eSignature is complete, the Power Automate flow deletes the .docx automatically. Only the signed PDF remains in the Active library.
– **Drop Off libraries:** The Contract Drop Off Library and Presentation Drop Off Library on this site are not in use and are pending deletion. Do not reference them.
**How Copilot uses this:** Apply these rules when advising users on how to work with contracts. If a user tries to do something that contradicts these policies, advise them of the correct approach.
## Contacts & Ownership
– **Site Owner:** Leon Armston — Microsoft 365 MVP, leonarmston.com
– **For questions about the site build or configuration:** Contact Leon via leonarmston.com
**How Copilot uses this:** When you cannot answer a question or a user needs help beyond what this file covers, direct them to Leon via leonarmston.com.

The AI Guidance Section: The Most Important Part
The ⚠️ AI Guidance — Contract Lifecycle block is the most deliberate part of the file. It sets three hard rules: Content Assembly is the only supported way to create a contract, every lifecycle transition is a manual user action, and the Promote File rule must be run explicitly after approval. Without these guardrails, the AI gives answers that are technically correct SharePoint advice but completely wrong for this specific site.
What Users Can Now Ask
With the SHAREPOINT.md in place, users can ask natural-language questions about the contract process and get answers grounded in how this site actually works. Here are three examples of the difference it makes.
“How do I create a new contract?” Without the file: You could create a new document or upload a .docx to the library. With the file: Go to the Drafts library, click New, select Contract – Consulting Agreement, fill in the form, and Content Assembly generates the .docx.

“What do I do after my contract is approved?” Without the file: The contract should now move to the next stage in the workflow. With the file: Go back to the Drafts library, select the approved file, and run the Promote File rule from the command bar to move it to the Active library.
“Why is there a .docx and a PDF in my Active library?” Without the file: You may have accidentally uploaded two versions of the same file. With the file: The .docx is the unsigned contract waiting for eSignature. Once signing is complete, the Power Automate flow will automatically delete the .docx and only the signed PDF will remain.
The context file turns a generic AI assistant into one that actually understands your site.
How to Add Your Own SHAREPOINT.md
There are two ways to add a context file to a site.
Option 1: Via chat. Open AI in SharePoint on your site and tell it to remember something, for example: “Remember that contracts must always be created using Content Assembly, not by uploading files directly.” SharePoint saves that as context in the Agent Assets library automatically. This also works for updating an existing file. It’s good for quick additions or standalone rule changes without opening the file directly.
Option 2: Author it manually. Write the full .md file yourself and upload it directly to the Agent Assets library. This is the approach I took because I had a detailed, structured document to author and wanted full control over how the process was described and what guardrails were set.
To enable the Agent Assets library, you need to activate the feature on your site first:
Step 1: Click the Settings gear icon in the top-right of the site. Step 2: Open Site information, then select View all site settings. Step 3: Go to Site collection features and activate Agent Assets.
Once activated, the Agent Assets library appears on your site and you can upload/edit your SHAREPOINT.md directly. SharePoint has a native Markdown viewer and editor built in, so the file can be opened and updated in the browser without leaving the site.
Summary
Adding a SHAREPOINT.md to a Copilot in SharePoint contract management site gives every Skill and AI interaction on the site the context it needs to produce accurate, site-specific responses. It is not a complicated thing to set up, it is a plain text file, but the impact is significant when your site has specific processes and rules that a generic AI would otherwise get wrong.
If you have a site with a non-obvious workflow, a custom creation method, or manual steps that are easy to misunderstand, a context file should be one of the first things you put in place. It is the difference between an AI that gives plausible answers and one that gives correct ones.
Looking further ahead, I’d love to see context files at the hub and tenant level. A tenant-level file could define organisation-wide terminology, company policies, and standard acronyms so you’re not repeating the same definitions across every site. A hub-level file could provide shared context across a group of related sites. Right now every site and its SHAREPOINT.md stands alone, but tenant and hub-level context files would change that.
One thing I’ll say before wrapping up: I’m now going to add a SHAREPOINT.md to every site I build. Think of it as a help guide for your users. If they get stuck, they can ask the AI and instead of getting generic SharePoint answers, they get accurate, guided responses based on the actual structure and purpose of that site. Libraries, columns, content types, workflows, forms, acronyms — all of it documented in one place, powering every AI interaction on the site. It’s a small file with a big impact.