In modern agentic software development, extending an autonomous agent requires navigating two complementary architectural surfaces: procedural skills and the Model Context Protocol (MCP). Confusing these two surfaces or forcing one into the role of the other produces fragile, expensive, and non-deterministic agent behavior.
The fundamental distinction:
SKILL.md file, skills encode human heuristics, step-by-step methodologies, quality gates, and error-recovery procedures.The Architectural Axiom: MCP equips an agent with tools and hands; skills give the agent judgment and methodology; semantic wiki pages provide the authoritative source of truth.
flowchart TD
subgraph Human_and_Intent["1. Human Intent & Standing Rules"]
RULES["Root Invariant Rules<br/>(AGENTS.md / CLAUDE.md)"]
PROMPT["Task Directive<br/>(e.g., 'Elevate VectorIndexingInternals')"]
end
subgraph Agent_Core["2. Agent Reasoning Engine (Antigravity agy / Claude Code)"]
RUNTIME{"LLM Orchestrator<br/>(Prompt + Context Assembly)"}
end
subgraph Procedural_Layer["3. Procedural Skills Layer (.agents/skills/)"]
SKILL_H["Skill Header (60 tokens)<br/>Loaded on Session Init"]
SKILL_B["Skill Runbook (SKILL.md)<br/>Progressively Injected on Match"]
SKILL_H -.->|Trigger Condition| SKILL_B
end
subgraph Connectivity_Layer["4. Data Plane: Model Context Protocol (MCP)"]
K_MCP["Knowledge MCP (/knowledge-mcp)<br/>21 read tools: assemble_bundle, get_page_for_agent"]
A_MCP["Admin MCP (/wikantik-admin-mcp)<br/>29 write tools: update_page, verify_pages"]
R_MCP["Roller MCP (/api/mcp)<br/>Customer blog publishing tools"]
end
subgraph Systems_Plane["5. Operating Systems & Knowledge Backbone"]
WIKI[("Wikantik Semantic Wiki<br/>(Specs, ADRs, RDF Graph)")]
BLOG[("Roller Fork (docker2)<br/>Customer Outreach")]
REPO[("Product Codebases<br/>(stockroom, jspwiki, jakemon)")]
end
RULES --> RUNTIME
PROMPT --> RUNTIME
SKILL_H --> RUNTIME
RUNTIME -->|Invokes Method| SKILL_B
SKILL_B -->|Guides Tool Selection| RUNTIME
RUNTIME <-->|Calls Tool| K_MCP
RUNTIME <-->|Calls Tool| A_MCP
RUNTIME <-->|Calls Tool| R_MCP
K_MCP <--> WIKI
A_MCP <--> WIKI
R_MCP <--> BLOG
RUNTIME <-->|File Edits / Bash| REPO
Introduced by Anthropic in late 2024 and standardized across the AI industry (supported natively in Claude Code, Antigravity, Cursor, Gemini CLI, Goose), MCP provides a client-server JSON-RPC architecture over Streamable HTTP or stdio:
tools/list): Exposes machine-readable JSON Schema definitions defining exact parameter constraints.SKILL.md SpecificationA skill is a self-contained directory following the open cross-client standard:
.agents/skills/project_structured_page_curation/
├── SKILL.md # Primary instruction file with YAML frontmatter
├── references/ # Context reference docs loaded on demand
└── scripts/ # Deterministic validation scripts
The operational core is progressive disclosure:
The Simple Agility ecosystem demonstrates how skills and MCP servers cooperate across production environments:
Wikantik partitions its 50 tools into two distinct trust tiers (ConnectingClaudeCodeToWikantikMcp, FindingTheRightMcpTool):
/knowledge-mcp (21 Read-Only Tools): Available to standard coding agents and guest keys (mcp_read). Exposes semantic hybrid search (assemble_bundle), context discovery (retrieve_context), token-budgeted projections (get_page_for_agent), structural navigation (list_clusters, list_pages_by_filter), and RDF SPARQL querying (sparql_query, get_ontology)./wikantik-admin-mcp (29 Read/Write Tools): Restricted to privileged administrative keys (mcp_admin). Exposes page authoring (write_pages, update_page), verification stamping (mark_page_verified), cluster renames (rename_cluster), and Knowledge Graph curation (curate_nodes, curate_edges).The sovereign customer communication platform (RollerHub) exposes a specialized MCP server at /api/mcp on docker2:
blogger-agent, SA-INIT-01) to query weblogs, create draft entries, assign categories, and stage customer spotlights.POST, EDIT_DRAFT, ADMIN), ensuring that a compromised blogging agent cannot perform server administrative operations.In ~/source/wiki-content-agent/.agents/skills/, dedicated skills orchestrate complex multi-step routines:
project_structured_page_curation: A specialized skill encoding the exact heuristics for updating page frontmatter, enforcing the Wikantik v2.4 scalar cluster declaration architecture, escaping currency math, and curating Knowledge Graph node boundaries.To determine whether an extension should be implemented as an instruction file, a skill, a plain script, or an MCP server, apply this comparative evaluation:
| Extension Mechanism | Token Cost Incurred | Execution Substrate | Primary Responsibility | Ideal Use Case |
|---|---|---|---|---|
Instruction File (AGENTS.md) | Every session boot (unconditional) | Root repository configuration | Non-derivable rules, command truth, hard invariants | Build/test flags, project boundaries, directory maps |
Procedural Skill (SKILL.md) | Deferred until trigger (~98% cost deferred) | Local or client-wide directory | Multi-step methodology, checklists, domain judgment | Release runbooks, style guide compliance, refactor workflows |
| Plain Bash/Python Script | Zero until execution (output only) | Shell / Container runtime | Deterministic, non-judgmental transformations | Code compilation, unit test suites, database migration scripts |
| MCP Server | Tool schema in context; data on call | Independent network daemon (HTTP/stdio) | Authenticated external I/O, live data querying, system mutation | Semantic search, database querying, wiki curation, cloud APIs |
The most robust architectural pattern composes all three components into a cohesive loop:
[MCP Server] (Capabilities: what can be touched)
▲
│ Tool Calls & Schema Payloads
▼
[Agent Runtime] ◄─── Guides Methodology ───► [Skill: SKILL.md] (Heuristics: how to execute)
▲
│ Queries Ground Truth
▼
[Semantic Wiki] (Normative Truth: what should be built)
/knowledge-mcp): Provides the authenticated programmatic pipe allowing the agent to retrieve sections of the contract without human manual pasting.SKILL.md): Instructs the agent on the required verification sequence:
assemble_bundle../mvnw test.mark_page_verified.The economic advantage of progressive disclosure over monolithic instruction files can be proven mathematically.
Let N_inline represent the token count of inlining all procedural instructions into a monolithic AGENTS.md file. Let N_header be the lightweight descriptor cost loaded at session boot (N_header ≈ 65 tokens), and N_body be the full skill instruction body (N_body ≈ 2,500 tokens).
Let P(invoke) represent the empirical probability that a given coding session requires that specific skill. The expected token consumption per session E(T) is modeled as:
The Context Conservation Ratio eta_saving is defined as:
Consider an organization maintaining 12 specialized engineering workflows (e.g., database migration, security audit, page curation, release tagging), each averaging 2,500 tokens of procedural instructions:
Monolithic Approach: Inlining all 12 workflows into AGENTS.md:
Progressive Skill Approach: Packaging each workflow into a SKILL.md with a 65-token header:
Net Conservation:
Progressive disclosure reduces session context overhead by 89.1%, preserving critical working memory for active code analysis and reasoning.
update_page supporting metadata and content merges).read, write, execute). The sequencing and judgment belong in a Skill, where the reasoning model can adapt to unexpected intermediate results.