QuranTech

Nineteen reference files and a set of rules, written for the AI agent that is about to write your Qur’an feature. It ships no code into your application, changes nothing at runtime, and is not in your dependency graph.

Blocks used
Platforms
Claude Code · Claude.ai · the Claude API · any Agent Skills runtime
Time
About 6 minutes

QuranTech is the one block in the set with no consumable data and no API. There is nothing to import, nothing to fetch, no payload to parse. It is documentation aimed at a machine, for when an AI agent is writing code that touches Qur’anic text and you would rather it already knew the things this domain punishes you for not knowing.

Where the repository lives

quran-ws/qurantech-skill, public and MIT. It was transferred from the quranpedia organisation in September 2026; the old URL redirects, and the skill’s own files still name quranpedia in places.

What ships

ArtefactPath in the repositoryWhat it is
Entry pointplugins/qurantech/skills/qurantech/SKILL.mdTriggers, an interview workflow, the mandatory rules, and an index of the references
References.../skills/qurantech/references/*.md19 files, loaded by the agent only when the task needs one
Plugin manifestplugins/qurantech/.claude-plugin/plugin.jsonDeclares the plugin namespace qurantech, version 1.0.0, MIT
Marketplace catalogue.claude-plugin/marketplace.jsonWhat /plugin marketplace add reads
Packaged skilldist/qurantech.skillA single file to upload to Claude.ai or attach through the API
Evalsevals/evals.jsonThree benchmark prompts with assertions

The reference files, by the question each one answers:

GroupFiles
Data and sourcesdata-sources.md · api-comparison.md · quranpedia-api.md · data-models.md
Text and displaytext-rendering.md · mushaf-display.md · tajweed.md
Qirāʾātqiraat.md
Audioaudio.md · verse-recognition.md
Scholarly contenttranslations-tafsir.md · irab.md · content-types.md
Featuressearch.md · memorization.md · quranpedia-embed.md
Engineeringarchitecture.md · testing-qa.md
Ethicsadab.md

Install it

  1. Add it as a Claude Code plugin

    The marketplace route gives you a namespaced skill and versioned updates. The repository states it needs Claude Code v2.1.205 or later.

    /plugin marketplace add https://github.com/quran-ws/qurantech-skill
    /plugin install qurantech@qurantech-skill
    

    That installs the skill as /qurantech:qurantech.

  2. Or install it into another agent runtime

    The repository documents a one-command install through the skills.sh CLI, which covers Claude Code, Cursor, Codex, Gemini CLI and GitHub Copilot.

    npx skills add quran-ws/qurantech-skill
    
  3. Or copy the skill directory yourself

    No tooling involved — an Agent Skill is a directory with a SKILL.md at its root.

    git clone https://github.com/quran-ws/qurantech-skill.git
    mkdir -p ~/.claude/skills
    cp -r qurantech-skill/plugins/qurantech/skills/qurantech ~/.claude/skills/qurantech
    
  4. Or upload the packaged file to Claude.ai

    Upload dist/qurantech.skill under Settings → Capabilities → Skills, or attach it through the API's skills support. The file is committed to the default branch; there is no release or tag to pin, so you get whatever the branch holds when you download it.

  5. Check that it triggers

    Skills load on relevance, not on command, so the useful test is a prompt rather than a version string. The repository suggests one:

    add Warsh support to my Quran app
    

    If the skill is live, the agent should start by asking which qirāʾah you support today and what your data model looks like, rather than writing a migration.

What it changes

Two things.

It front-loads an interview. For a new project SKILL.md instructs the agent to ask what you are building, the target platform, which qirāʾah, which features, whether it must work offline, and which data sources — before recommending an architecture. Picking the wrong Qiraah or the wrong text source is the change that is expensive to undo later.

It makes a set of rules non-negotiable. references/adab.md is marked mandatory in the entry point. Its rules are the adab of handling the text, section 7 of the Qur'an text guideline, and the skill's file is generated from it, so the two cannot drift apart.

Alongside those it carries eleven engineering principles, among them never hard-code an ayah count (Quranic text, rule 5.2), because the counts differ across readings.

Guidance is not verification

A skill changes what the agent knows; it does not check what the agent produced. An agent with QuranTech loaded still writes text into your database, and a dropped diacritic or a stripped waqf mark does not throw; it renders as slightly wrong Qur’ān. Keep the integrity check in CI: compare stored text byte-for-byte against the published source, or against the digest shipped with it. The skill tells the agent to do this. It cannot do it for you.

Two limits

It does not yet point at these blocks. The references name external sources — Quran Foundation, QUL, Tanzil, QuranPedia, MP3Quran — and two of our repositories under their pre-transfer names, quranpedia/quran-svg and quranpedia/qiraat-ayah-map. The string quran-ws does not appear anywhere in the skill, and Quran Text, Quran Tajweed, Quran Engine, Quran Assets and Quran SVG Elements are not mentioned. If you want an agent to use the packages documented on this site, name them in your own prompt or project instructions.

One of its numbers is contested. references/qiraat.md assigns the reading of Abū ʿAmr al-Baṣrī — and so both of its riwāyāt, al-Dūrī and al-Sūsī — to the Basran counting system, total 6,204.

Careful

Our own measurements of the printed KFGQPC editions disagree: public/demo/fatiha.json records al-Dūrī at 6,217 and al-Sūsī at 6,218 ayat, both closest to First Madinan, not Basran. Both kinds of number are meaningful, one a scholarly counting position and the other what a publisher set in type, and we have not resolved which belongs where. Do not let an agent write either number into a schema as settled. See Ayah-counting systems.

How this is made, and how much to trust it

The repository labels itself experimental. The content is drawn from production Qur’an platforms, open datasets and the developer community, but coverage is uneven, recommendations about APIs and datasets age, and the benchmark suite is three prompts — enough to smoke-test the skill, not enough to claim a measured improvement.

There are no releases and no tags, so "the version you have" means "the state of the default branch on the day you installed it". The plugin manifest declares 1.0.0 and has not changed with content.

Treat it as a knowledgeable colleague rather than an authority: verify anything touching Islamic content with a qualified scholar, and review its technical output like any other code.

What this is not

You wantUse
Verified Qur’anic text, in seven riwāyāt, with word numberingQuran Text
Printed pages as vectors, with an addressable ayah layerQuran SVG
Tajwīd rules as spans over the textQuran Tajweed
Reference translation between counting systemsQiraat Ayah Map
A runtime dependency of any kindNone of the above — QuranTech ships no code