# Sustainable Archaeology Tourism

> Sustainable Archaeology Tourism Planning Advisor - Comprehensive evidence-backed analysis harness for cultural-heritage tourism planning. Use when user asks about sustainable tourism planning, heritage site management, carrying capacity analysis, visitor management, conservation vs visitation balance, community-based heritage tourism, archaeological site tourism, cultural tourism impact assessmen…

- **Type:** Skill
- **Install:** `agentstack add skill-dungnotnull-sustainable-archaeology-tourism-agent-skill-sustainable-archaeology-tourism-agent-skill`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [dungnotnull](https://agentstack.voostack.com/s/dungnotnull)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [dungnotnull](https://github.com/dungnotnull)
- **Source:** https://github.com/dungnotnull/sustainable-archaeology-tourism-agent-skill

## Install

```sh
agentstack add skill-dungnotnull-sustainable-archaeology-tourism-agent-skill-sustainable-archaeology-tourism-agent-skill
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## 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
```json
{
  "$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
```json
{
  "$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
```json
{
  "$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
```json
{
  "$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:

```json
{
  "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:
1. Apply gate check
2. On failure, run auto-fix procedure
3. Retry gate check (max 2 retries)
4. If still failing, emit explicit limitation notice
5. 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

1. **Progressive Loading**: Load only essential content initially
2. **Selective Reading**: Use targeted Read with offset/limit for large files
3. **Reference Caching**: Cache commonly accessed references
4. **Context Compression**: Summarize intermediate outputs
5. **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:

```json
{
  "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

```json
{
  "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

```cron
# 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](https://github.com/dungnotnull)
- **Source:** [dungnotnull/sustainable-archaeology-tourism-agent-skill](https://github.com/dungnotnull/sustainable-archaeology-tourism-agent-skill)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-dungnotnull-sustainable-archaeology-tourism-agent-skill-sustainable-archaeology-tourism-agent-skill
- Seller: https://agentstack.voostack.com/s/dungnotnull
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
