Skip to content

feat: add tos evaluator skill#51

Merged
rosspeili merged 1 commit into
ARPAHLS:mainfrom
rosspeili:tos_evaluator
Apr 28, 2026
Merged

feat: add tos evaluator skill#51
rosspeili merged 1 commit into
ARPAHLS:mainfrom
rosspeili:tos_evaluator

Conversation

@rosspeili
Copy link
Copy Markdown
Contributor

Description

Adds a new compliance/tos_evaluator skill that performs a local-first compliance check before automated website access.
The skill evaluates robots.txt, discovers likely legal/terms pages, extracts and scores relevant clauses for the requested action, and optionally uses a low-cost LLM fallback (gemini-2.5-flash-lite as example) for ambiguous policy language.

This change also synchronizes repository surfaces so the skill is production-ready in Skillware:

  • Added skill bundle files (manifest.yaml, skill.py, instructions.md, card.json, __init__.py, local test_skill.py)
  • Added focused central tests under tests/skills/compliance/test_tos_evaluator.py
  • Added skill documentation page and catalog entry
  • Added runnable Gemini, Claude, and Ollama examples
  • Updated dependencies for deterministic HTML parsing support

Type of Change (Matches Issue Templates)

  • 🚀 Skill Proposal: New Skill (Contains manifest.yaml, skill.py, and instructions.md)
  • 🐛 Bug Report Fix: Non-breaking change which fixes an execution error or framework bug
  • 📖 Doc Fix: Documentation Update
  • 🧠 Framework Feature / RFC Updates: Core Framework Update (Changes to base_skill.py, loader.py, etc.)

Checklist (For the Submitting Agent / Developer)

  • My code follows the Agent Code of Conduct.
  • I have included a properly formatted manifest.yaml (if submitting a new skill).
  • The skill logic operates purely in Python and does not rely on arbitrary LLM code generation.
  • Requirements and env_vars are explicitly documented in the manifest.
  • I have written unit tests proving deterministic execution and schema compliance.
  • I have verified that SkillLoader successfully loads this module without missing dependency errors.

Constitution & Safety (If adding/modifying a Skill)

This skill is evaluation-only and does not execute scraping/crawling actions itself.
It applies conservative decisioning (SAFE, UNSAFE, CAUTION, INSUFFICIENT_EVIDENCE) and prioritizes caution when legal evidence is incomplete or ambiguous.
It does not claim legal certainty or legal advice, and only sends clause snippets to an external model when explicitly enabled via use_llm_evaluator.

Related Issues

Fixes #40

Add a local-first Terms of Service evaluator that checks robots.txt, discovers legal pages, and optionally uses a low-cost LLM to interpret ambiguous automation restrictions.
Sync the new skill with docs, examples, and focused tests so it integrates cleanly with Skillware.

Made-with: Cursor
@rosspeili rosspeili merged commit 512c1e8 into ARPAHLS:main Apr 28, 2026
5 checks passed
@rosspeili rosspeili deleted the tos_evaluator branch April 28, 2026 09:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[New Skill]: Terms of Service (TOS) Evaluator

1 participant