# nothinx/naskah-id architecture

> Architecture diagram of the GitHub repository nothinx/naskah-id, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-14). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/nothinx/naskah-id
- Repository: https://github.com/nothinx/naskah-id

## Overview

naskah-id is an Indonesian academic-writing agent skill: users ask it to correct or edit prose, develop manuscript sections from supplied material, and flag unsupported claims while preserving facts and citations. Its guidance and responsibility contract constrain that work; optional scripts provide language-pattern checks and scholarly-reference lookup. The README documents these capabilities, and sampled code confirms the checker and lookup tool’s behavior. Skill-to-tool wiring is documented at a high level, but unsampled skill instructions were not inspected.

Main entry points: [`SKILL.md`](https://github.com/nothinx/naskah-id/blob/main/SKILL.md) (Writing skill), [`scripts/openalex.py`](https://github.com/nothinx/naskah-id/blob/main/scripts/openalex.py) (Reference lookup), [`KONTRAK.md`](https://github.com/nothinx/naskah-id/blob/main/KONTRAK.md) (Responsibility contract), [`references`](https://github.com/nothinx/naskah-id/tree/main/references) (Editorial references)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_editorial["Writing guidance"]
  node_skill["Writing skill<br/>[SKILL.md]"]
  node_contract["Responsibility contract<br/>[KONTRAK.md]"]
  node_references["Editorial references"]
end

subgraph group_tools["Optional tools"]
  node_checker["Text checker<br/>[periksa.py]"]
  node_lookup["Reference lookup<br/>[openalex.py]"]
end

subgraph group_research["Research services"]
  node_openalex{{"OpenAlex API"}}
  node_crossref{{"Crossref API"}}
end

node_user(("Writer"))

node_user -->|"requests editing"| node_skill
node_skill -->|"follows constraints"| node_contract
node_skill -->|"uses guidance"| node_references
node_user -->|"runs checks"| node_checker
node_skill -->|"uses for research"| node_lookup
node_lookup -->|"queries"| node_openalex
node_lookup -->|"falls back"| node_crossref

click node_skill "https://github.com/nothinx/naskah-id/blob/main/SKILL.md"
click node_contract "https://github.com/nothinx/naskah-id/blob/main/KONTRAK.md"
click node_references "https://github.com/nothinx/naskah-id/tree/main/references"
click node_checker "https://github.com/nothinx/naskah-id/blob/main/scripts/periksa.py"
click node_lookup "https://github.com/nothinx/naskah-id/blob/main/scripts/openalex.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_skill,node_contract,node_references toneBlue
class node_checker,node_lookup toneAmber
class node_openalex,node_crossref toneMint
class node_user toneIndigo
```

## Components

### Writing guidance

- [Writing skill](https://github.com/nothinx/naskah-id/blob/main/SKILL.md): `SKILL.md`
- [Responsibility contract](https://github.com/nothinx/naskah-id/blob/main/KONTRAK.md): `KONTRAK.md`
- [Editorial references](https://github.com/nothinx/naskah-id/tree/main/references): `references`

### Optional tools

- [Text checker](https://github.com/nothinx/naskah-id/blob/main/scripts/periksa.py): `scripts/periksa.py`
- [Reference lookup](https://github.com/nothinx/naskah-id/blob/main/scripts/openalex.py): `scripts/openalex.py`

### Research services

- **OpenAlex API**
- **Crossref API**

### Other components

- **Writer**

## Connections

- Writer → Writing skill: requests editing (evidence: `README.md`)
- Writing skill → Responsibility contract: follows constraints (evidence: `README.md`)
- Writing skill → Editorial references: uses guidance (evidence: `README.md`)
- Writer → Text checker: runs checks (evidence: `README.md`)
- Writing skill → Reference lookup: uses for research (evidence: `README.md`)
- Reference lookup → OpenAlex API: queries (evidence: `scripts/openalex.py`)
- Reference lookup → Crossref API: falls back (evidence: `scripts/openalex.py`)
