Install
$ agentstack add skill-dungnotnull-sustainable-archaeology-tourism-agent-skill-sustainable-archaeology-tourism-agent-skill ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Sustainable Archaeology Tourism Planning Advisor
Skill Overview
This is a production-grade harness for Sustainable Cultural-Heritage Tourism Planning analysis. It transforms Claude into a domain expert that delivers structured, evidence-backed outputs through a sophisticated multi-agent architecture with dynamic skill routing, comprehensive error handling, and continuous knowledge improvement.
Architecture Version 2.0
Enhanced Architecture Features
- Dynamic Skill Routing: Context-aware chain-of-thought router for optimal skill selection
- Parallel Execution: Independent skills execute concurrently when possible
- Hook System: Lifecycle hooks for pre/post skill execution and error handling
- State Management: Distributed state with context propagation
- Schema Registry: JSON schemas for all skill inputs/outputs
- Graceful Degradation: 5-level fallback system with explicit limitation flags
- Knowledge Pipeline: Continuous crawl pipeline with deduplication and scoring
- Structured Logging: Comprehensive logging with severity levels and correlation IDs
Skill Registry
Core Skills
| Skill ID | Description | Input Schema | Output Schema | Parallel | Dependencies | |----------|-------------|--------------|---------------|----------|--------------| | main-harness | Primary orchestrator with quality gates | UserQuery | AnalysisReport | false | [sub-gather-requirements] | | sub-gather-requirements | Intake specialist for requirement clarification | RawUserMessage | Requirements | false | [] | | sub-evidence-collector | Data librarian for authoritative sources | Requirements | EvidenceBundle | false | [sub-gather-requirements] | | sub-core-analysis | Heritage tourism planner for capacity analysis | SiteEvidence | CoreAnalysis | false | [sub-evidence-collector] | | sub-knowledge-updater | Research librarian for academic evidence | AnalysisKeywords | KnowledgeEvidence | true | [] | | sub-advisor | Principal advisor for synthesis and recommendations | AnalysisInputs | RecommendationReport | false | [sub-core-analysis, sub-knowledge-updater] |
Skill Execution Modes
- Sequential: Strict order (main-harness, sub-gather-requirements)
- Parallel: Concurrent execution (sub-knowledge-updater can run with sub-core-analysis)
- Conditional: Execution based on context (adaptive routing based on analysis complexity)
Input/Output Schemas
UserQuery Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"rawMessage": {"type": "string"},
"providedContext": {"type": "object"},
"language": {"type": "string", "enum": ["en", "vi", "auto"]},
"timestamp": {"type": "string", "format": "date-time"}
},
"required": ["rawMessage"]
}
Requirements Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"objectOfAnalysis": {"type": "string"},
"scope": {"type": "array", "items": {"type": "string"}},
"timeframe": {"type": "string"},
"availableInputs": {"type": "array", "items": {"type": "string"}},
"targetAudience": {"type": "array", "items": {"type": "string"}},
"language": {"type": "string", "enum": ["en", "vi"]},
"analysisType": {"type": "string", "enum": ["screening", "comprehensive", "focused", "comparative"]},
"confirmedAt": {"type": "string", "format": "date-time"}
},
"required": ["objectOfAnalysis", "scope", "language", "analysisType"]
}
EvidenceBundle Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"currentData": {"type": "array"},
"authoritativeDocs": {"type": "array"},
"recentDevelopments": {"type": "array"},
"referenceBenchmarks": {"type": "array"},
"evidenceQuality": {"type": "string"},
"collectedAt": {"type": "string", "format": "date-time"},
"limitationFlags": {"type": "array"}
},
"required": ["currentData", "authoritativeDocs"]
}
AnalysisReport Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"reportId": {"type": "string"},
"executiveSummary": {"type": "string"},
"inputsAndScope": {"type": "object"},
"evidenceCollected": {"type": "object"},
"analysisScorecard": {"type": "object"},
"actionPlan": {"type": "array"},
"academicEvidence": {"type": "array"},
"disclosure": {"type": "string"},
"conclusion": {"type": "string", "enum": ["Sustainable Plan", "Conditional (caps)", "Over-Tourism Risk", "Inconclusive"]},
"scenarios": {"type": "array"},
"keyRisks": {"type": "array"},
"evidenceChain": {"type": "array"},
"remediation": {"type": "array"},
"gatesPassed": {"type": "array"},
"degradationLevel": {"type": "integer", "minimum": 0, "maximum": 4},
"generatedAt": {"type": "string", "format": "date-time"}
},
"required": ["executiveSummary", "conclusion", "disclosure", "gatesPassed"]
}
Hook System
Lifecycle Hooks
| Hook Name | Trigger | Purpose | Example Use | |-----------|---------|---------|-------------| | pre-skill-execution | Before any skill executes | Logging, validation, context enrichment | Log execution start, validate inputs | | post-skill-execution | After any skill completes | Result processing, state updates | Cache results, update state | | on-skill-error | When a skill fails | Error recovery, fallback activation | Activate degradation level | | pre-quality-gate | Before quality gate evaluation | Gate preparation, data gathering | Assemble gate check data | | post-quality-gate | After quality gate evaluation | Result processing, auto-fix | Apply auto-fix procedures | | on-report-generation | Before final report output | Formatting, template application | Apply output template | | post-report-generation | After final report output | Cleanup, logging | Log completion, cleanup resources |
Hook Registration
Hooks are registered in config/hooks.json with the following schema:
{
"hookName": {
"enabled": true,
"priority": 1,
"handler": "path/to/handler/script.py",
"config": {}
}
}
Quality Gates
Universal Gates (U1-U6)
- U1: ≥3 sources cited, ≥1 academic/authoritative
- U2: Disclosure/limitations before recommendation
- U3: Evidence hierarchy stated per source (Tier 1–4)
- U4: Language matches user preference
- U5: Output uses declared template (all sections)
- U6: Every claim traceable to ≥1 source or flagged
Domain Gates (G1-G4)
- G1: Carrying capacity determined
- G2: Conservation/visitation balance (zones/caps)
- G3: Impact monitoring present
- G4: Community & interpretation addressed
Gate Enforcement
Gates are evaluated with auto-fix logic:
- Apply gate check
- On failure, run auto-fix procedure
- Retry gate check (max 2 retries)
- If still failing, emit explicit limitation notice
- Continue to next gate (fail-open for safety)
Error Handling & Graceful Degradation
Degradation Levels
| Level | Condition | Behavior | Limitation Notice | |-------|-----------|----------|-------------------| | 0 | All primary sources reachable | Full evidenced analysis | None | | 1 | Some primary sources fail | Use secondary/aggregate sources; flag substituted sources | Level 1 banner | | 2 | Most live sources fail | SECOND-KNOWLEDGE-BRAIN.md only; flag historical context | Level 2 banner | | 3 | Required input variable missing/stale | Proceed with available; mark missing "DATA UNAVAILABLE" | Level 3 banner | | 4 | All sources AND knowledge base fail | Emit "DATA UNAVAILABLE" notice; do NOT fabricate | Level 4 banner |
Error Recovery Matrix
| Error Type | Detection | Recovery | Retry Limit | Fallback | |-------------|-----------|----------|-------------|----------| | Source timeout | no response 30s | retry alternate source | 3 | Knowledge base | | Invalid input | out-of-range/schema mismatch | ask user to confirm | 2 | Proceed with flag | | Missing input | field absent | proceed with available + flag | N/A | Flag explicitly | | Stale reading | timestamp old | flag, request refresh | 1 | Use with flag | | Knowledge base miss | no matches | WebSearch gap-fill + queue crawl | 2 | WebSearch only | | Conflicting actions | mutually exclusive actions | apply precedence | N/A | Precedence rules | | Envelope unavailable | no setpoint for object/stage | use genus/category fallback | 1 | Fallback + flag | | Object/class ambiguous | classification unclear | ask user to confirm | 2 | Request clarification |
Context Window Management
Token Optimization Strategy
- Progressive Loading: Load only essential content initially
- Selective Reading: Use targeted Read with offset/limit for large files
- Reference Caching: Cache commonly accessed references
- Context Compression: Summarize intermediate outputs
- Memory Management: Release unused context between skills
Token Budget Allocation
| Component | Budget | Priority | |-----------|--------|----------| | User query + requirements | 5% | Critical | | Evidence collection | 25% | High | | Core analysis | 30% | Critical | | Knowledge base query | 15% | Medium | | Synthesis & recommendation | 20% | Critical | | Quality gate overhead | 5% | Low |
State Management
Distributed State Pattern
State is maintained across skill executions with the following structure:
{
"sessionId": "uuid",
"correlationId": "uuid",
"state": {
"requirements": null,
"evidenceBundle": null,
"coreAnalysis": null,
"knowledgeEvidence": null,
"recommendation": null
},
"context": {
"language": "auto",
"degradationLevel": 0,
"gatesPassed": [],
"gatesFailed": [],
"executionLog": []
},
"metadata": {
"startedAt": "timestamp",
"lastUpdatedAt": "timestamp",
"currentSkill": "skill-id",
"skillExecutionOrder": []
}
}
Logging System
Log Levels
- TRACE: Detailed execution tracing
- DEBUG: Diagnostic information
- INFO: General informational messages
- WARN: Warning conditions
- ERROR: Error conditions
- CRITICAL: Critical conditions requiring immediate attention
Log Format
{
"timestamp": "ISO8601",
"level": "INFO",
"correlationId": "uuid",
"skill": "skill-id",
"message": "Log message",
"context": {},
"error": {}
}
Log Outputs
- Console: Structured JSON logs to stdout
- File: Append to
logs/skill-execution-{date}.log - Error File: Separate error logs to
logs/skill-errors-{date}.log
Knowledge Pipeline
Crawl Schedule
# Weekly academic update (Mondays 8:00 AM)
0 8 * * 1 python D:/972026/245-sustainable-archaeology-tourism/scripts/knowledge_updater.py >> logs/knowledge_update.log 2>&1
# Daily news update (Daily 7:00 AM)
0 7 * * * python D:/972026/245-sustainable-archaeology-tourism/scripts/knowledge_updater.py --news-only >> logs/knowledge_news.log 2>&1
Knowledge Sources
Tier 1 (Authoritative):
- UNESCO World Heritage Centre
- ICOMOS International Cultural Tourism Charter
- UNWTO Sustainable Tourism Criteria
- National heritage agencies
Tier 2 (Academic):
- Journal of Sustainable Tourism
- Tourism Management
- Journal of Cultural Heritage
- Annals of Tourism Research
Tier 3 (Industry):
- Industry reports
- Professional associations
- Technical guidelines
Tier 4 (News/Blog):
- Industry news
- Conference proceedings
- Working papers
Directory Structure
D:\972026\245-sustainable-archaeology-tourism\
├── SKILL.md # This file - comprehensive skill registry
├── CLAUDE.md # Project identity and instructions
├── PROJECT-detail.md # Full technical specification
├── PROJECT-DEVELOPMENT-PHASE-TRACKING.md # Build roadmap
├── README.md # Public documentation
├── SECOND-KNOWLEDGE-BRAIN.md # Living knowledge base
├── skills/ # Skill definitions
│ ├── main.md # Main orchestrator
│ ├── sub-gather-requirements.md
│ ├── sub-evidence-collector.md
│ ├── sub-core-analysis.md
│ ├── sub-knowledge-updater.md
│ └── sub-advisor.md
├── scripts/ # Executable scripts
│ ├── knowledge_updater.py # Knowledge crawl pipeline
│ ├── hook_handlers.py # Hook implementation
│ ├── state_manager.py # State management
│ ├── logger.py # Structured logging
│ └── skill_router.py # Dynamic skill routing
├── references/ # Reference documentation
│ ├── hooks.md # Hook system documentation
│ ├── schemas.md # Schema definitions
│ ├── quality-gates.md # Quality gate documentation
│ └── error-handling.md # Error handling procedures
├── assets/ # Static resources
│ ├── templates/ # Output templates
│ │ ├── report-template-en.md
│ │ └── report-template-vi.md
│ └── configs/ # Configuration schemas
│ ├── hooks-schema.json
│ └── logging-schema.json
├── config/ # Configuration files
│ ├── hooks.json # Hook registration
│ ├── skills.json # Skill configuration
│ └── logging.json # Logging configuration
├── tools/ # Legacy tools (maintained)
├── tests/ # Test scenarios and results
└── logs/ # Log files
Usage
Basic Invocation
/sustainable-archaeology-tourism [user query]
Example Queries
- "Analyze sustainable tourism options for Angkor Archaeological Park"
- "Assess carrying capacity for My Son heritage site"
- "Evaluate visitor management strategies for Ha Long Bay"
- "Develop community-based tourism plan for Cu Chi tunnels"
Version History
- 2.0.0 (2026-07-27): Major architecture upgrade with dynamic routing, hook system, and enhanced error handling
- 1.0.0 (2026-07-13): Initial production release
License
MIT License - See LICENSE file for details
Contributing
This skill is part of the 972026-skill-library. Contributions should follow the library standard defined in D:\972026\SKILL-STANDARD.md.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: dungnotnull
- Source: dungnotnull/sustainable-archaeology-tourism-agent-skill
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.