skills/autonomous-business-system-neuro-symbolic/SKILL.md
Design and implement neuro-symbolic business automation systems that combine LLM agents with predicate-logic programming and knowledge graphs. Applies the AUTOBUS architecture: tasks modeled as networks with pre/post conditions, enterprise data as logic facts, and AI agents that generate executable logic programs from natural-language instructions. Trigger phrases: - "Build a business process automation system" - "Create a neuro-symbolic workflow engine" - "Design a task orchestration system with logic constraints" - "Model business processes as knowledge graphs with AI agents" - "Implement an enterprise system that combines LLMs with rule engines" - "Build a system where AI agents generate executable business logic"
npx skillsauth add ndpvt-web/arxiv-claude-skills autonomous-business-system-neuro-symbolicInstall 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 enables Claude to design and implement business automation systems using the AUTOBUS neuro-symbolic architecture from Pang & Sayama (2026). The core idea: LLM-based agents translate natural-language business instructions into predicate-logic programs that execute against a knowledge graph of enterprise data. This combines the flexibility of LLMs (understanding intent, handling ambiguity) with the determinism of logic programming (verifiable constraints, auditable execution). The result is a system where business users define what should happen in plain language, and the system generates how to execute it with formal guarantees.
The AUTOBUS architecture solves a fundamental tension: LLMs are excellent at interpreting natural language and unstructured data but cannot guarantee deterministic, verifiable execution of business logic. Conversely, rule engines and logic programming provide determinism but are brittle and require expert programming. AUTOBUS bridges this gap with a three-layer architecture:
Layer 1 — Enterprise Knowledge Graph as Logic Facts. All enterprise data (customers, products, policies, organizational structure) is organized as a knowledge graph. Entities become logic facts (customer("acme", tier: "gold")), relationships become relational predicates (reports_to("alice", "bob")), and business constraints become foundational rules (requires_approval(order) :- order.amount > 50000). This semantic grounding means the logic engine reasons over the actual state of the business, not stale snapshots.
Layer 2 — AI Agents Generate Task-Specific Logic Programs. For each task in a business initiative, an AI agent receives three inputs: (1) task instructions in natural language, (2) relevant enterprise semantics from the knowledge graph, and (3) a catalog of available tools/APIs. The agent synthesizes these into a task-specific logic program — a set of predicates, rules, constraints, and action directives that the logic engine can execute. This is where the "neuro" meets the "symbolic": the LLM's language understanding produces formally executable code.
Layer 3 — Logic Engine Execution with Human Oversight. A logic engine (e.g., Prolog-style reasoner, Datalog, or ASP solver) executes the generated programs. It enforces constraints, resolves dependencies between tasks, coordinates API calls, and produces auditable execution traces. Humans define semantics and policies, curate the tool catalog, and are consulted for high-impact or ambiguous decisions — maintaining accountability without bottlenecking routine automation.
Model the business initiative as a task network. Decompose the end-to-end process into discrete tasks. For each task, define: a natural-language description, preconditions (what must be true before execution), postconditions (what must be true after), required data entities, evaluation rules (how to judge success/failure), and API-level actions (what the task actually does).
Build the enterprise knowledge graph schema. Define entity types (Customer, Order, Product, Employee, Policy), their attributes, and relationships. Express business constraints as rules. Use a format that maps cleanly to logic predicates — each entity instance becomes a fact, each constraint becomes a rule.
Translate the knowledge graph into logic facts and foundational rules. Convert entity instances to ground facts (e.g., employee(id: "E001", name: "Alice", role: "manager", department: "finance")). Convert constraints to inference rules (e.g., can_approve(Person, Order) :- employee(Person, role: "manager"), order_amount(Order, Amt), Amt < approval_limit(Person)).
Define the tool/API catalog. For each available tool or API, specify: name, description, input parameters with types, output schema, preconditions for invocation, and side effects. This catalog is what the AI agent draws from when constructing logic programs.
Construct the agent prompt for logic program generation. Provide the AI agent with: (a) the task instruction in natural language, (b) relevant facts and rules from the knowledge graph, (c) the tool catalog, and (d) a schema for the expected logic program output (predicates, rules, action directives, constraint checks). Instruct the agent to produce a valid logic program, not prose.
Generate the task-specific logic program. The AI agent outputs a structured logic program containing: data predicates (facts needed for this task), constraint rules (conditions that must hold), action directives (API calls to execute with bound parameters), evaluation predicates (how to assess the outcome), and escalation conditions (when to involve a human).
Validate the generated logic program. Before execution, check: all referenced predicates exist in the knowledge graph or are defined locally, all tool invocations match the catalog signatures, constraint rules are satisfiable given current facts, and no action directive violates declared policies. Reject and regenerate if validation fails.
Execute via the logic engine. Run the logic program against the knowledge graph. The engine resolves preconditions, binds variables, enforces constraints, invokes tools/APIs in the correct order, and records an execution trace. If a constraint is violated mid-execution, halt and trigger the escalation path.
Evaluate postconditions and record outcomes. After execution, verify that all postconditions hold. Log the execution trace (which rules fired, which tools were called, what data changed) for auditability. Update the knowledge graph with new facts produced by the task.
Advance the initiative by checking downstream task preconditions. With the current task complete, re-evaluate preconditions of dependent tasks in the network. Trigger the next eligible tasks, repeating from step 5 for each.
User: "Build an order approval system where orders over $50K need VP approval, orders over $10K need manager approval, and smaller orders auto-approve. It should check inventory and notify the customer."
Approach:
validate_order → check_inventory → route_approval → notify_customer% Enterprise facts
employee("alice", role: "vp", approval_limit: 200000).
employee("bob", role: "manager", approval_limit: 50000).
product("widget_x", stock: 150, price: 299).
% Foundational rules
approval_tier(Order, "auto") :- order_total(Order, Amt), Amt =< 10000.
approval_tier(Order, "manager") :- order_total(Order, Amt), Amt > 10000, Amt =< 50000.
approval_tier(Order, "vp") :- order_total(Order, Amt), Amt > 50000.
can_approve(Person, Order) :-
approval_tier(Order, Tier),
employee(Person, role: Tier),
order_total(Order, Amt),
employee(Person, approval_limit: Limit),
Amt =< Limit.
route_approval:% Task: route_approval
% Precondition: inventory_checked(Order, Status), Status == "available"
% Postcondition: approval_decision(Order, Decision)
execute_approval(Order) :-
approval_tier(Order, "auto"),
assert(approval_decision(Order, "approved")),
call_api(update_order_status, [order: Order, status: "approved"]).
execute_approval(Order) :-
approval_tier(Order, Tier), Tier \= "auto",
find_approver(Order, Approver),
call_api(send_approval_request, [order: Order, approver: Approver]),
escalate_to_human(Approver, Order, "Requires manual approval").
find_approver(Order, Approver) :-
can_approve(Approver, Order).
approval_tier, finds eligible approver, calls API or escalates.Output: An auditable trace showing which rule path was taken, which approver was selected and why, and the resulting order status — all verifiable against the knowledge graph.
User: "Create an onboarding system that provisions accounts, assigns equipment, schedules training, and notifies the team — with dependencies between steps."
Approach:
{
"initiative": "employee_onboarding",
"tasks": [
{
"id": "provision_accounts",
"description": "Create email, Slack, and system accounts for new hire",
"preconditions": ["employee_record_exists(Employee)"],
"postconditions": ["accounts_provisioned(Employee)"],
"tools": ["create_email_account", "create_slack_account", "create_system_account"]
},
{
"id": "assign_equipment",
"description": "Assign laptop and peripherals based on role",
"preconditions": ["employee_record_exists(Employee)"],
"postconditions": ["equipment_assigned(Employee)"],
"tools": ["check_inventory", "create_equipment_request"]
},
{
"id": "schedule_training",
"description": "Enroll in required training based on department and role",
"preconditions": ["accounts_provisioned(Employee)"],
"postconditions": ["training_scheduled(Employee)"],
"tools": ["get_required_courses", "enroll_in_course"]
},
{
"id": "notify_team",
"description": "Send welcome announcement to the team",
"preconditions": ["accounts_provisioned(Employee)", "equipment_assigned(Employee)"],
"postconditions": ["team_notified(Employee)"],
"tools": ["send_slack_message", "send_email"]
}
]
}
employee("E042", name: "Dana", role: "engineer", department: "platform").
department_training("platform", ["security_101", "platform_onboarding", "ci_cd_basics"]).
role_equipment("engineer", ["laptop_pro", "monitor_27", "keyboard_mech"]).
team_channel("platform", "#platform-team").
schedule_training:execute_schedule_training(Employee) :-
employee(Employee, department: Dept),
department_training(Dept, Courses),
accounts_provisioned(Employee),
foreach(Course, Courses,
call_api(enroll_in_course, [employee: Employee, course: Course])),
assert(training_scheduled(Employee)).
provision_accounts and assign_equipment in parallel (no dependency between them), then schedule_training (needs accounts), then notify_team (needs both accounts and equipment).User: "Build a data access request system where requests are checked against data classification policies, the requester's clearance level, and regulatory constraints before granting access."
Approach:
data_classification("customer_pii", level: "confidential", regulations: ["gdpr", "ccpa"]).
data_classification("sales_metrics", level: "internal", regulations: []).
clearance("analyst", max_level: "internal").
clearance("data_engineer", max_level: "confidential").
regulation_requires("gdpr", "data_processing_agreement").
access_allowed(Requester, Dataset) :-
employee(Requester, role: Role),
clearance(Role, max_level: MaxLevel),
data_classification(Dataset, level: Level),
level_rank(Level, LR), level_rank(MaxLevel, MR), LR =< MR,
regulation_check(Requester, Dataset).
regulation_check(Requester, Dataset) :-
data_classification(Dataset, regulations: Regs),
foreach(Reg, Regs,
regulation_satisfied(Requester, Reg)).
access_allowed, and if any regulation check fails, escalates to a compliance officer with a structured explanation of exactly which rule blocked access.Output: Either a granted-access action with full audit trail, or a denial with the specific predicate chain that failed — e.g., "Access denied: dataset customer_pii requires GDPR compliance; requester E015 (role: analyst) lacks data_processing_agreement."
| Failure Mode | Detection | Recovery | |---|---|---| | Agent generates invalid logic program | Validation step catches undefined predicates, type mismatches, or unsatisfiable constraints | Regenerate with error feedback appended to the agent prompt; limit to 3 retries | | Precondition not met at execution time | Logic engine evaluates precondition predicates before running actions | Block task, log the unmet condition, check if upstream tasks need re-execution | | API/tool call fails | Tool wrapper returns error status to logic engine | Apply retry policy from tool catalog; if exhausted, mark task as failed and escalate | | Knowledge graph stale or inconsistent | Postcondition evaluation fails despite successful actions | Trigger knowledge graph refresh, re-evaluate; flag data integrity issue | | Constraint violation mid-execution | Logic engine halts on violated constraint rule | Roll back any reversible actions, escalate to human with the specific constraint that failed | | Human escalation timeout | Timer on escalation request | Re-notify, escalate to next level, or apply default policy if one is defined |
Paper: Pang, C. & Sayama, H. (2026). "Autonomous Business System via Neuro-symbolic AI." Accepted to IEEE SysCon 2026. arXiv:2601.15599
What to look for: The architecture diagram showing the three-layer interaction (knowledge graph, AI agents, logic engine), the anatomy of agent-generated logic programs (Section on logic program structure), and the business initiative lifecycle showing how tasks flow through the system with human checkpoints.
development
Audit LLM-based automatic short answer grading (ASAG) systems for adversarial vulnerabilities using token-level and prompt-level attack strategies from the GradingAttack framework. Triggers: 'test grading robustness', 'adversarial attack on grading', 'audit LLM grader', 'red-team answer grading', 'ASAG vulnerability assessment', 'grading fairness attack'
development
Build structured information-seeking agents that decompose complex queries into multi-turn search-and-browse workflows, aggregate results from multiple web sources, and return answers in typed structured formats (items, sets, lists, tables). Applies the GISA benchmark's ReAct-based agent architecture and evaluation methodology. Trigger phrases: "build an information-seeking agent", "search agent pipeline", "multi-turn web research agent", "structured web search workflow", "aggregate information from multiple sources", "web research with structured output"
data-ai
Optimize LLM prompts using GFlowPO's iterative generate-evaluate-refine loop with diversity-preserving exploration and dynamic memory. Use when: 'optimize this prompt', 'find a better prompt for this task', 'prompt engineering with examples', 'auto-tune my system prompt', 'improve prompt accuracy', 'generate prompt variations'.
development
Constrain LLM generation with executable Pydantic schemas and multi-agent pipelines to produce structurally valid, domain-rich artifacts. Uses ontology-as-grammar to eliminate hallucinated structures while preserving creative output. Trigger phrases: "generate a valid game design", "schema-constrained generation", "build a multi-agent pipeline with Pydantic validation", "ontology-driven content generation", "structured creative generation with DSPy", "generate artifacts that pass domain validation".