.cursor/skills/generate-mcp-briefing/SKILL.md
Discovers all MCP servers and tools dynamically, classifies them by mode and trigger condition, and writes the Tool Mode Map to .cursor/rules/02--cussorrules-mcp-briefieng-GENERATED.mdc. Run occasionally to keep the knowledge base current. Use when MCP servers change, tools are added, or the briefing needs refreshing.
npx skillsauth add doesitscript/dotfile-vnext generate-mcp-briefingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill maintains 02--cussorrules-mcp-briefieng-GENERATED.mdc as the persistent MCP tool knowledge base for this project. Agents read that file at conversation start to know which tools to use in which mode — preventing them from ignoring MCP tools or re-deriving tool usage from scratch each conversation.
Run this skill when MCP servers or tools change. It discovers tools dynamically, classifies them using their descriptions and names, and surfaces uncertain placements for your review rather than guessing silently.
Discover all MCP tools, classify them, write the full generated file.
Triggered by: "regenerate the MCP briefing", "refresh the tool map", "update the generated rule", or after changing .cursor/mcp.json.
Discover current MCP tools, compare against the existing generated file, report what is missing or changed. No writes.
Triggered by: "evaluate the MCP briefing", "is the briefing in sync?", "what tools are missing?", "report on MCP drift."
.cursor/mcp.json to get all server names — do NOT hardcode server namesListMcpResourcesFor each discovered tool, read its name and description. Reason about:
Section definitions:
| Section | When to use it |
|---|---|
| Required workflow | Must be called in a fixed sequence for every Ansible change |
| Required pre-task | Must be called before writing any task or role |
| Required when [condition] | Becomes mandatory when a specific condition is true |
| Call when [trigger] | Should be called when a specific situation arises |
| Not used unless explicit | Does not apply to this mode or requires explicit user request |
| Explicit instruction only | Must never be called without the user explicitly asking |
Confidence rule:
[SUGGESTED] and collect it for Step 4Write to .cursor/rules/02--cussorrules-mcp-briefieng-GENERATED.mdc using this exact structure:
---
alwaysApply: true
---
## MCP Tool Knowledge Base
**Scope:** This file applies to ALL Cursor modes — Agent, Plan, Debug, and Ask.
It is not a code-creation-only reference. Any agent in any mode must consult
this file before deciding which tools to use. Ignoring these tools because you
are in Plan, Debug, or Ask mode is a rule violation.
**Purpose:** Persistent reference so agents do not re-derive tool usage from
scratch each conversation. Run the `generate-mcp-briefing` skill to refresh
this file when MCP servers or tools change.
---
## Tool Mode Map
### Agent mode — full execution
**Required workflow (must call in this order for every Ansible change):**
[ordered list]
**Required pre-task (before writing any task or role):**
[list]
**Required when [condition applies]:**
[list — each entry states the specific condition]
**Call when [trigger]:**
[list — each entry states the specific trigger]
**Not used in Agent mode unless task is explicitly about it:**
[list]
---
### Plan mode — read-only planning, no execution
**Required (must call before writing any plan involving Ansible):**
[list]
**Call when [trigger]:**
[list]
**Not used in Plan mode:**
[list]
---
### Debug mode — evidence collection and diagnosis
**Required (per REQUIRED-EVIDENCE-NO-ASSUMPTIONS-ON-FAILURE rule):**
[list]
**Required when [condition applies]:**
[list]
**Call when [trigger]:**
[list]
**Not used in Debug mode:**
[list]
---
### Ask mode — conversational and informational only
**Required for any Ansible design or idiom question:**
[list]
**Call when [trigger]:**
[list]
**Not used in Ask mode:**
[list]
---
## Tools Requiring Explicit User Instruction — Any Mode
Never call the following without the user explicitly requesting:
| Tool | Server | Reason |
---
## Reference Resources (available in all modes)
Fetched via `FetchMcpResource` — read-only documents, never "run":
| Resource URI | Server | Content |
---
## Needs Classification
Tools discovered but not confidently classified. Review and confirm or adjust
each suggested placement, then run the skill again to incorporate them.
[list of SUGGESTED items, each with: tool name, server, proposed section, reasoning]
After writing the file:
[SUGGESTED] item with its proposed placement and your reasoning.cursor/mcp.json — get all server names dynamically, no hardcoding.cursor/rules/02--cussorrules-mcp-briefieng-GENERATED.mdc.cursor/rules/02--cussorrules-mcp-briefieng-GENERATED.mdc.cursor/mcp.jsontesting
Creates a zip archive from the project root while excluding .git and downloaded dependency/source folders. Use when the user asks to zip a project without git metadata or dependencies, including short trigger prompts like zipprojectroot, @zipprojectroot, archiveproject, or run zipprojectroot.
documentation
Reads .envrc, creates or updates .envrc.sample with sanitized placeholder values safe for committing, and ensures .envrc is in .gitignore. Use when adding secrets to .envrc, setting up a new project environment, creating a sample env file, protecting secrets from git, or when asked to sanitize, clean, or document environment variables.
documentation
Registers remote documentation URLs in project-level .cursor/config.json and processes them for active use. Use when the user provides doc sources, asks to add/index docs, or requests @doc handles with suggested titles.
testing
Stage only related work, exclude unrelated dirty files, and create one or more grouped multiline git commits with clear titles and bodies. Use when the user asks to add and commit current work cleanly, especially in a dirty worktree.