{"slug": "the-ten-levels-of-ai-skill-construction-from-prompt-to-business-closure-system", "title": "The Ten Levels of AI Skill Construction - From Prompt to Business Closure System", "summary": "A developer mapped ten distinct levels of AI skill construction, from a single prompt file to a full business closure system, based on a year of building AI agent skills for enterprise clients. The developer found that many treat skills as fancy prompts, but real business workflows require structured components, workflows, and orchestration. The first three levels—Single Prompt, Component Skill, and Workflow Skill—illustrate the progression from simple text instructions to multi-step processes with conditional branching.", "body_md": "I've spent the last year building AI agent skills for enterprise clients, and I kept running into the same problem: everyone treats \"skills\" as just fancy prompts. They write a Markdown file, call it a skill, and wonder why their agent can't handle real business workflows. So I mapped out ten distinct levels of skill construction — from a single prompt file to a full business closure system that orchestrates eight-plus skills end-to-end. Here's what I learned at each level.\n\nThis is where everyone starts. You write one Markdown file, stick it in a folder, and your agent reads it as instructions. That's it. No scripts, no references, no assets — just text telling the AI what to do.\n\n```\n# SKILL.md — Meeting Minutes Organizer\n\nYou are a meeting minutes organizer. When the user provides meeting content,\nextract the following fields and output structured results:\n\n## Output Format\n- Meeting Time\n- Meeting Location\n- Participants\n- Decisions\n- Action Items\n\nAlways respond in the same language as the input.\n```\n\nI've found this works surprisingly well for simple, well-scoped tasks. A meeting minutes extractor? Perfect. A knowledge-base Q&A bot with a single document set? Also fine. But the moment your skill needs to handle edge cases, reference external data, or follow conditional logic, you hit a wall.\n\n**When to use it:** Quick prototypes, demos, and tasks that fit in a single prompt window.\n\n**When to outgrow it:** The first time you catch yourself writing \"if the user asks X, do Y; if they ask Z, do W...\" inside one Markdown file.\n\nA Component Skill adds structure around the prompt. You still have your `SKILL.md`\n\n, but now it references other files: knowledge documents, Python scripts, YAML configs, or static assets the agent can load at runtime.\n\n```\nmy-skill/\n├── SKILL.md\n├── knowledge/\n│   └── telecom-faq.md\n├── scripts/\n│   └── validate_input.py\n└── assets/\n    └── template.xlsx\n```\n\nThe key insight: `SKILL.md`\n\nnow acts as a **coordinator**, pointing the agent to the right resources rather than stuffing everything into one file.\n\n```\n# SKILL.md — Knowledge RAG Assistant\n\n## Knowledge Base\nLoad documents from the `knowledge/` directory before answering.\n\n## Validation\nBefore processing user input, run `scripts/validate_input.py` to check format.\n\n## Output Template\nUse `assets/template.xlsx` as the output format for structured reports.\n```\n\nI built a telecom FAQ skill this way — the knowledge base was 200+ pages of installation manuals, and the validation script caught malformed addresses before they caused downstream errors. The prompt stayed clean; the heavy lifting lived in the supporting files.\n\n**When to use it:** Any skill that needs domain knowledge, input validation, or structured output templates.\n\nThis is where things get interesting. A Workflow Skill defines a multi-step process with explicit decision points. Instead of \"do this,\" you write \"if X, go to step 3; if Y, go to step 5.\"\n\n```\n# SKILL.md — Complaint Handling Workflow\n\n## Phase 1: Information Extraction\nExtract: customer_id, complaint_type, urgency_level\n\n## Phase 2: Routing Decision\n- If urgency_level = \"critical\" → Phase 3A (Escalation)\n- If urgency_level = \"normal\" AND complaint_type = \"billing\" → Phase 3B (Billing Track)\n- Otherwise → Phase 3C (Standard Track)\n\n## Phase 3A: Escalation\nNotify supervisor, create priority ticket, SLA = 2 hours\n\n## Phase 3B: Billing Track\nPull billing records, calculate discrepancy, auto-refund if < $50\n\n## Phase 3C: Standard Track\nCreate standard ticket, SLA = 48 hours\n\n## Phase 4: Closure\nConfirm resolution with customer, update knowledge base\n```\n\nThe breakthrough for me was realizing that workflow skills don't need code — they need **clarity**. When I wrote unambiguous branching logic in plain Markdown, the agent followed it correctly 90%+ of the time. The 10% failure rate came from vague wording, not missing code.\n\n**When to use it:** Any multi-step process with conditional branching — complaint handling, onboarding flows, troubleshooting guides.\n\nAt Level 4, we stop pretending one agent can do everything. An Orchestration Skill uses a **Phase-Orchestrator** to launch independent sub-agents for each phase, passing structured JSON between them.\n\nHere's what the flow looks like:\n\n```\nUser Request\n    ↓\nPhase 1: Info-Extractor (sub-agent A)\n    ↓ [JSON: extracted fields]\nPhase 2: Data-Analyst (sub-agent B)\n    ↓ [JSON: analysis results]\nPhase 3: Report-Generator (sub-agent C)\n    ↓ [Markdown report]\nFinal Output\n```\n\nThe `SKILL.md`\n\ndefines the protocol:\n\n```\n# SKILL.md — Data Analysis Pipeline\n\n## Orchestration Protocol\nThis skill uses Phase-Orchestrator for multi-Agent execution.\nEach Phase runs as an independent sub-agent.\n\n## Phase 1: Info-Extractor\n- Input: raw user text\n- Output: JSON with extracted_fields\n- Pass to: Phase 2\n\n## Phase 2: Data-Analyst\n- Input: Phase 1 JSON output\n- Output: JSON with analysis_results, insights, anomalies\n- Pass to: Phase 3\n\n## Phase 3: Report-Generator\n- Input: Phase 2 JSON output\n- Output: Markdown report\n- Pass to: user\n\n## Inter-Phase Data Contract\n```\n\njson\n\n{\n\n\"extracted_fields\": {...},\n\n\"analysis_results\": {...},\n\n\"report_markdown\": \"...\"\n\n}\n\nyaml\n\nWhy sub-agents instead of one agent doing all phases? **Isolation**. If Phase 2 crashes, Phase 1's extracted data isn't lost. Each sub-agent starts fresh with a clean context, so you don't hit token limits. And you can swap out Phase 2's skill without touching the others.\n\nI tested this with a 4-phase financial report pipeline. Single-agent approach: 70% completion rate, frequent context loss. Orchestrated approach: 95% completion rate, clean handoffs every time.\n\n**When to use it:** Any task that takes more than one distinct transformation — extract → analyze → report, query → aggregate → visualize, etc.\n\nSecurity isn't a luxury; it's a layer. A Security Skill wraps protective checks around your other skills. It enforces the principle of least privilege, scans for dangerous actions, and blocks operations that exceed authorized scope.\n\n```\n# security-guard-config.yaml\nskill_permissions:\n  info-extractor:\n    allowed_tools: [read, search]\n    blocked_tools: [delete, write, execute]\n    data_scope: \"customer_profile_readonly\"\n    sensitive_fields:\n      - field: id_card_number\n        action: mask\n      - field: phone_number\n        action: mask_last_4\n\ndefense_rules:\n  - pattern: \"ignore.*previous.*instructions\"\n    action: block_and_log\n  - pattern: \"pretend.*you.*are\"\n    action: warn_and_confirm\n  - pattern: \"export.*all.*data\"\n    action: require_approval\n```\n\nThe Security Skill sits in the orchestration pipeline as a gate:\n\n```\nPhase 1: Info-Extractor\n    ↓\nSecurity-Guard (check permissions, mask sensitive fields)\n    ↓\nPhase 2: Data-Analyst\n    ↓\nSecurity-Guard (validate output, check for data leaks)\n    ↓\nPhase 3: Report-Generator\n```\n\nI ran a red-team test against one of my skills. Without Security-Guard: 4 out of 6 attack vectors succeeded (prompt injection, data exfiltration, privilege escalation, unauthorized export). With Security-Guard: 0 out of 6 succeeded. The defense rules caught injection patterns, and the permission config blocked unauthorized tool access.\n\n**When to use it:** Always. Seriously. Any skill that touches real data or performs real actions needs this layer.\n\nA Scoring Skill evaluates business objects against configurable rules and weights. The rules live in YAML, not in the prompt — so when business logic changes, you update the config, not the skill.\n\n```\n# scoring-rules.yaml\nobject_type: \"enterprise_customer\"\ndimensions:\n  - name: \"business_potential\"\n    weight: 0.35\n    rules:\n      - id: \"annual_revenue\"\n        field: \"revenue_million\"\n        operator: \"range\"\n        ranges:\n          - [0, 100, 1]\n          - [100, 500, 2]\n          - [500, 1000, 3]\n          - [1000, 5000, 4]\n          - [5000, null, 5]\n      - id: \"growth_rate\"\n        field: \"yoy_growth_pct\"\n        operator: \"range\"\n        ranges:\n          - [null, -5, 1]\n          - [-5, 5, 2]\n          - [5, 15, 3]\n          - [15, 30, 4]\n          - [30, null, 5]\n\n  - name: \"churn_risk\"\n    weight: 0.30\n    rules:\n      - id: \"contract_expiry\"\n        field: \"months_to_expiry\"\n        operator: \"range\"\n        ranges:\n          - [null, 1, 5]\n          - [1, 3, 4]\n          - [3, 6, 3]\n          - [6, 12, 2]\n          - [12, null, 1]\n      - id: \"complaint_count\"\n        field: \"complaints_last_6m\"\n        operator: \"range\"\n        ranges:\n          - [5, null, 5]\n          - [3, 5, 4]\n          - [1, 3, 3]\n          - [0, 1, 1]\n\n  - name: \"tech_readiness\"\n    weight: 0.35\n    rules:\n      - id: \"digital_maturity\"\n        field: \"digital_score\"\n        operator: \"direct\"\n        max: 5\n```\n\nThe scoring engine follows an orchestrated pipeline:\n\n```\nPhase 1: Info-Extractor → pull customer data from input\nPhase 2: Knowledge-RAG → match scoring rules from YAML\nPhase 3: Data-Analyst → calculate weighted scores per dimension\nPhase 4: Report-Generator → output scorecard with recommendations\n```\n\nI built this for a telecom client who needed to score enterprise customers for 5G private network sales opportunities. They changed the weighting three times in the first month — each time, I updated two numbers in the YAML and redeployed. Zero code changes.\n\n**When to use it:** Lead scoring, risk assessment, supplier evaluation, partner grading — anything that needs multi-dimensional weighted evaluation.\n\nA Verification Skill doesn't trust any single data source. It pulls evidence from multiple independent sources, cross-validates them, detects conflicts, and produces confidence-scored conclusions.\n\n```\n# SKILL.md — Evidence Chain Analyzer\n\n## Evidence Sources\n1. Customer complaint records (CRM)\n2. System alert logs (monitoring)\n3. SLA performance data (operations)\n4. Technician work orders (field)\n\n## Cross-Validation Rules\n- If ≥2 sources agree → confidence = 0.85\n- If all sources agree → confidence = 0.95\n- If sources conflict → flag conflict, lower confidence to 0.50\n- If only 1 source available → confidence = 0.40, flag for manual review\n\n## Conflict Detection\n- Timeline mismatch: event A reported before cause B\n- Quantity mismatch: complaint says 3 outages, logs show 1\n- Attribution mismatch: CRM blames network, alerts show power failure\n```\n\nThe output includes a confidence matrix:\n\n```\n{\n  \"conclusion\": \"Root cause: power failure at site DC-042\",\n  \"confidence\": 0.88,\n  \"evidence\": [\n    {\"source\": \"alert_logs\", \"supports\": true, \"detail\": \"UPS failure at 14:32\"},\n    {\"source\": \"technician_order\", \"supports\": true, \"detail\": \"Power restoration at 16:15\"},\n    {\"source\": \"crm_complaint\", \"supports\": true, \"detail\": \"Customer reported outage at 14:35\"},\n    {\"source\": \"sla_data\", \"supports\": false, \"detail\": \"SLA recorded as network issue (misclassification)\"}\n  ],\n  \"conflicts\": [\n    {\n      \"type\": \"attribution_mismatch\",\n      \"sources\": [\"alert_logs\", \"sla_data\"],\n      \"resolution\": \"SLA misclassified; alert logs are authoritative\"\n    }\n  ]\n}\n```\n\nI used this for a complaint investigation where the customer claimed 5 outages, the monitoring system showed 2, and the technician's work orders confirmed 3. The evidence chain revealed that 2 of the customer's reported outages were actually a single event they perceived as separate — and 1 real outage wasn't captured by monitoring due to a probe failure. Without cross-validation, we'd have either dismissed the customer's complaint or over-escalated.\n\n**When to use it:** Complaint investigation, incident root cause analysis, audit verification, any scenario where truth lies across multiple systems.\n\nAn Approval Skill adds a mandatory human checkpoint before high-risk operations execute. It auto-assesses risk level, generates an approval request, and waits for explicit confirmation.\n\n```\n# SKILL.md — Human-in-Loop Approval\n\n## Risk Assessment Matrix\n| Level | Criteria | Examples |\n|-------|----------|----------|\n| L1 | Read-only, no data exposure | Query internal database |\n| L2 | Read-only, contains sensitive data | View customer PII |\n| L3 | Write to internal systems | Update customer record |\n| L4 | External communication | Send email, post to chat |\n| L5 | Irreversible or bulk operations | Delete records, export all data |\n\n## Approval Workflow\n- L1-L2: Execute automatically, log action\n- L3: Execute with confirmation prompt\n- L4: Require approval with content preview\n- L5: Require approval + supervisor notification + audit trail\n\n## Approval Request Format\n```\n\njson\n\n{\n\n\"risk_level\": \"L4\",\n\n\"action\": \"send_email\",\n\n\"recipient\": \"[client@company.com](mailto:client@company.com)\",\n\n\"content_preview\": \"Dear Client, regarding your 5G deployment...\",\n\n\"requires_approval_from\": \"supervisor\",\n\n\"audit_trail_id\": \"AIL-20260628-0042\"\n\n}\n\n```\nThe key design principle: **never auto-execute L4+ operations**. I learned this the hard way when an agent auto-sent a draft client email that contained internal pricing notes. The human-in-loop layer now catches every L4+ action before it leaves the system.\n```\n\npython\n\ndef execute_with_approval(action):\n\nrisk = assess_risk(action)\n\nif risk in [\"L1\", \"L2\"]:\n\nreturn execute(action)\n\nelif risk == \"L3\":\n\nif confirm_with_user(action):\n\nreturn execute(action)\n\nelif risk in [\"L4\", \"L5\"]:\n\napproval = request_approval(action, require_supervisor=(risk==\"L5\"))\n\nif approval.status == \"approved\":\n\nlog_audit(action, approval)\n\nreturn execute(action)\n\nelse:\n\nreturn {\"status\": \"rejected\", \"reason\": approval.reason}\n\n```\n**When to use it:** Any action that sends data externally, modifies records, or performs irreversible operations.\n\n---\n\n## Level 9: Composite Skill — 5+ Skills Orchestrated Pipeline\n\nA Composite Skill chains five or more specialized skills into a coordinated pipeline. Each skill retains its independence, but the composite skill defines the overall flow and data contracts between them.\n\nHere's a real example — a **Customer Operations Dashboard** that combines six skills:\n```\n\nplaintext\n\nUser: \"Show me the complaint trend for enterprise customers in Q2\"\n\n```\n↓\n```\n\n[L3-GW-01: Data Query Gateway] — routes the request\n\n↓\n\n[L3-NL-01: NL2Query] — converts natural language to SQL\n\n↓\n\n[Security-Guard] — checks query permissions\n\n↓\n\n[L3-DB-01: Data Executor] — executes the validated SQL\n\n↓\n\n[L3-AG-01: Data Aggregator] — calculates trends, YoY, rankings\n\n↓\n\n[L3-VZ-01: Visualization Renderer] — generates ECharts dashboard\n\n↓\n\nOutput: Interactive HTML dashboard with complaint trends\n\n```\nThe composite skill's `SKILL.md` defines the orchestration:\n```\n\nmarkdown\n\nPhase 2 → Phase 3: SQL string + query_metadata JSON\n\nPhase 3 → Phase 4: Validated SQL + permission_token\n\nPhase 4 → Phase 5: Raw result set JSON\n\nPhase 5 → Phase 6: Aggregated data JSON + chart_suggestions\n\n```\nThe beauty of this approach: each component skill can be swapped, upgraded, or tested independently. When we switched the visualization engine from Chart.js to ECharts, we only touched Phase 6. The other five phases didn't change at all.\n\n**When to use it:** Complex business workflows that need querying, processing, validating, and presenting — dashboards, report pipelines, analysis suites.\n\n---\n\n## Level 10: Closure Skill — 8+ Skills End-to-End Business Loop\n\nThis is the final form. A Closure Skill doesn't just process data — it closes a business loop from intent to execution to archival. It orchestrates eight or more skills in a complete cycle, with human checkpoints, security gates, and knowledge retention built in.\n\nHere's the architecture I built for **enterprise customer operations** (codename: ArkClaw):\n```\n\nplaintext\n\nStep 1: Intent Understanding\n\n→ NL2Query + Info-Extractor\n\n↓\n\nStep 2: Multi-Source Query\n\n→ Data Executor + Knowledge-RAG\n\n↓\n\nStep 3: Rule-Based Scoring\n\n→ Scoring Engine (YAML-configured)\n\n↓\n\nStep 4: Evidence Verification\n\n→ Evidence Chain (cross-source validation)\n\n↓\n\nStep 5: Root Cause Mapping\n\n→ Root-Cause-Mapper (topology + 3-layer reasoning)\n\n↓\n\nStep 6: Human Approval\n\n→ Human-in-Loop (risk-gated confirmation)\n\n↓\n\nStep 7: Execution & Archival\n\n→ Archive-Manager (tag, sanitize, persist)\n\n↓\n\nStep 8: Visual Output\n\n→ Visualization Renderer + Report Generator\n\n```\nThe full `SKILL.md` is substantial, but here's the core protocol:\n```\n\nmarkdown\n\nThis skill implements a complete operations loop:\n\nUnderstand → Investigate → Score → Verify → Diagnose → Approve → Execute → Visualize\n\n```\nI ran this end-to-end for a real client — analyzing Jiangling Motors Group's 5G private network opportunity. The system scored their business potential at 84/100 (high opportunity), identified a moderate churn risk of 55/100, and generated a 15-page DOCX report with a one-page executive summary, data tables comparing revenue and contract timelines, and prioritized action recommendations. Total time: about 4 minutes. A human analyst would take 4 hours for the same depth.\n\nThe critical difference between Level 9 and Level 10? **Level 10 closes the loop.** It doesn't just produce output — it archives the analysis for future reference, updates the knowledge base with new patterns, and creates an audit trail. The next time someone asks about the same customer, the system starts from accumulated knowledge, not from scratch.\n\n---\n\n## Putting It All Together: The Level Progression\n\nHere's how I think about when to move up a level:\n\n| Level | What You Get | What It Costs | Signal to Level Up |\n|-------|-------------|---------------|-------------------|\n| 1 | Zero setup | Zero flexibility | \"I need if/then logic\" |\n| 2 | Knowledge + scripts | File management | \"I need branching workflows\" |\n| 3 | Decision trees | More complex prompts | \"I need separate agents per step\" |\n| 4 | Multi-agent isolation | Orchestration overhead | \"I need permission controls\" |\n| 5 | Security gates | Config complexity | \"I need configurable rules\" |\n| 6 | Configurable scoring | YAML maintenance | \"I need cross-source verification\" |\n| 7 | Evidence confidence | More data sources | \"I need human checkpoints\" |\n| 8 | Risk-gated approval | Latency from waits | \"I need a full pipeline\" |\n| 9 | End-to-end pipeline | Coordination complexity | \"I need business loop closure\" |\n| 10 | Complete closure | Maximum architecture | \"This IS my business process\" |\n\nOne thing I want to emphasize: **you don't always need Level 10.** A Level 3 workflow skill is the right tool for a troubleshooting guide. A Level 6 scoring skill is perfect for lead qualification. The levels aren't a maturity model — they're a design space. Pick the level that matches your problem's complexity.\n\n---\n\n## The Pattern That Connects All Ten Levels\n\nLooking back across all ten levels, I see one recurring pattern: **separation of concerns through structured protocols.**\n\n- Level 1: Concerns mixed in one file\n- Level 2: Knowledge separated from instructions\n- Level 3: Steps separated with decision points\n- Level 4: Agents separated with JSON contracts\n- Level 5: Security separated as a gate layer\n- Level 6: Rules separated into YAML config\n- Level 7: Evidence separated by source\n- Level 8: Approval separated by risk level\n- Level 9: Pipeline separated into composable stages\n- Level 10: Business logic separated from technical execution\n\nEvery level up is an act of separating something that was previously coupled. And the mechanism for that separation is always the same: a **structured data contract** (usually JSON) that one component produces and the next component consumes.\n\n---\n\n## What's Next?\n\nI'm currently teaching a course where students build skills starting at Level 1 and work their way up to creating their own Level 9 composite skills in a two-hour hands-on session. The biggest \"aha\" moment? When they realize that the jump from Level 3 to Level 4 — from a single agent with a decision tree to multiple agents with structured handoffs — is the inflection point. Everything before Level 4 is prompt engineering. Everything from Level 4 onward is system engineering.\n\nWhat level are your current AI skills at? And more importantly — what level do they *need* to be at to solve your actual business problems? I'd love to hear where you are in this progression.\n```\n\n", "url": "https://wpnews.pro/news/the-ten-levels-of-ai-skill-construction-from-prompt-to-business-closure-system", "canonical_source": "https://dev.to/__b01666abd57fb7bb91f9/the-ten-levels-of-ai-skill-construction-from-prompt-to-business-closure-system-25e7", "published_at": "2026-06-28 14:36:12+00:00", "updated_at": "2026-06-28 15:04:00.969864+00:00", "lang": "en", "topics": ["artificial-intelligence", "ai-agents", "ai-products", "developer-tools", "large-language-models"], "entities": [], "alternates": {"html": "https://wpnews.pro/news/the-ten-levels-of-ai-skill-construction-from-prompt-to-business-closure-system", "markdown": "https://wpnews.pro/news/the-ten-levels-of-ai-skill-construction-from-prompt-to-business-closure-system.md", "text": "https://wpnews.pro/news/the-ten-levels-of-ai-skill-construction-from-prompt-to-business-closure-system.txt", "jsonld": "https://wpnews.pro/news/the-ten-levels-of-ai-skill-construction-from-prompt-to-business-closure-system.jsonld"}}