{
  "schemaVersion": "1.0",
  "item": {
    "slug": "dnd",
    "name": "D&D 5e Toolkit",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/capt-marbles/dnd",
    "canonicalUrl": "https://clawhub.ai/capt-marbles/dnd",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/dnd",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=dnd",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "dnd.py"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/dnd"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/dnd",
    "agentPageUrl": "https://openagent3.xyz/skills/dnd/agent",
    "manifestUrl": "https://openagent3.xyz/skills/dnd/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/dnd/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "D&D 5e Toolkit",
        "body": "Your complete Dungeons & Dragons 5th Edition assistant! Look up spells, monsters, roll dice, generate characters, encounters, and NPCs."
      },
      {
        "title": "Features",
        "body": "🎲 Dice Roller - Roll any dice with modifiers\n✨ Spell Lookup - Search the entire SRD spell list\n👹 Monster Stats - Get full stat blocks for any creature\n⚔️ Character Generator - Random characters with stats\n🗡️ Encounter Builder - Generate balanced encounters by CR\n👤 NPC Generator - Create random NPCs with personality"
      },
      {
        "title": "Usage",
        "body": "All commands use the dnd.py script."
      },
      {
        "title": "Roll Dice",
        "body": "# Roll 2d6 with +3 modifier\npython3 dnd.py roll 2d6+3\n\n# Roll d20\npython3 dnd.py roll 1d20\n\n# Roll with negative modifier\npython3 dnd.py roll 1d20-2\n\n# Roll multiple dice\npython3 dnd.py roll 8d6\n\nOutput:\n\n🎲 Rolling 2d6+3\n   Rolls: [4 + 5] +3\n   Total: 12"
      },
      {
        "title": "Look Up Spells",
        "body": "# Search for a spell\npython3 dnd.py spell --search fireball\n\n# Direct lookup\npython3 dnd.py spell fire-bolt\n\n# List all spells\npython3 dnd.py spell --list\n\nOutput:\n\n✨ Fireball\n   Level: 3 Evocation\n   Casting Time: 1 action\n   Range: 150 feet\n   Components: V, S, M\n   Duration: Instantaneous\n   \n   A bright streak flashes from your pointing finger to a point \n   you choose within range and then blossoms with a low roar into \n   an explosion of flame..."
      },
      {
        "title": "Look Up Monsters",
        "body": "# Search for a monster\npython3 dnd.py monster --search dragon\n\n# Direct lookup\npython3 dnd.py monster ancient-red-dragon\n\n# List all monsters\npython3 dnd.py monster --list\n\nOutput:\n\n👹 Adult Red Dragon\n   Huge Dragon, chaotic evil\n   CR 17 (18,000 XP)\n   \n   AC: 19\n   HP: 256 (19d12+133)\n   Speed: walk 40 ft., climb 40 ft., fly 80 ft.\n   \n   STR 27 | DEX 10 | CON 25\n   INT 16 | WIS 13 | CHA 21\n   \n   Special Abilities:\n   • Legendary Resistance (3/Day): If the dragon fails a saving throw...\n   \n   Actions:\n   • Multiattack: The dragon can use its Frightful Presence..."
      },
      {
        "title": "Generate Random Character",
        "body": "# Generate character with rolled stats\npython3 dnd.py character\n\nOutput:\n\n⚔️  Elara\n   Race: Elf\n   Class: Wizard\n   \n   Stats:\n   STR: 10 (+0)\n   DEX: 15 (+2)\n   CON: 12 (+1)\n   INT: 16 (+3)\n   WIS: 13 (+1)\n   CHA: 8 (-1)"
      },
      {
        "title": "Generate Random Encounter",
        "body": "# Generate encounter with challenge rating\npython3 dnd.py encounter --cr 5\n\n# Random CR\npython3 dnd.py encounter\n\nOutput:\n\n🎲 Random Encounter (CR ~5)\n\n   2x Troll (CR 5)\n      AC 15, HP 84\n   1x Ogre (CR 2)\n      AC 11, HP 59"
      },
      {
        "title": "Generate Random NPC",
        "body": "python3 dnd.py npc\n\nOutput:\n\n👤 Finn Shadowend\n   Race: Halfling\n   Occupation: Merchant\n   Trait: Curious"
      },
      {
        "title": "Example Prompts for Clawdbot",
        "body": "\"Roll 2d20 with advantage\" (I'll roll twice!)\n\"Look up the Fireball spell\"\n\"Show me stats for a Beholder\"\n\"Generate a random character\"\n\"Create an encounter for level 5 party\"\n\"Give me an NPC for my tavern scene\""
      },
      {
        "title": "JSON Output",
        "body": "Add --json to any command for structured output:\n\npython3 dnd.py roll 2d6 --json\npython3 dnd.py spell --search fireball --json\npython3 dnd.py character --json"
      },
      {
        "title": "API Source",
        "body": "Uses the official D&D 5e API which includes all System Reference Document (SRD) content."
      },
      {
        "title": "Tips",
        "body": "Spell names use lowercase with hyphens: fireball, magic-missile, cure-wounds\nMonster names same format: ancient-red-dragon, goblin, beholder\nSearch if unsure of exact name: --search dragon will show all dragons\nDice format is flexible: 1d20, 2d6+5, 3d8-2, 100d100"
      },
      {
        "title": "Future Ideas",
        "body": "Initiative tracker\nTreasure generator\nQuest/plot hook generator\nRandom dungeon generator\nParty manager\nCampaign notes\n\nEnjoy your adventure! 🐉⚔️✨"
      }
    ],
    "body": "D&D 5e Toolkit\n\nYour complete Dungeons & Dragons 5th Edition assistant! Look up spells, monsters, roll dice, generate characters, encounters, and NPCs.\n\nFeatures\n\n🎲 Dice Roller - Roll any dice with modifiers\n✨ Spell Lookup - Search the entire SRD spell list\n👹 Monster Stats - Get full stat blocks for any creature\n⚔️ Character Generator - Random characters with stats\n🗡️ Encounter Builder - Generate balanced encounters by CR\n👤 NPC Generator - Create random NPCs with personality\n\nUsage\n\nAll commands use the dnd.py script.\n\nRoll Dice\n# Roll 2d6 with +3 modifier\npython3 dnd.py roll 2d6+3\n\n# Roll d20\npython3 dnd.py roll 1d20\n\n# Roll with negative modifier\npython3 dnd.py roll 1d20-2\n\n# Roll multiple dice\npython3 dnd.py roll 8d6\n\n\nOutput:\n\n🎲 Rolling 2d6+3\n   Rolls: [4 + 5] +3\n   Total: 12\n\nLook Up Spells\n# Search for a spell\npython3 dnd.py spell --search fireball\n\n# Direct lookup\npython3 dnd.py spell fire-bolt\n\n# List all spells\npython3 dnd.py spell --list\n\n\nOutput:\n\n✨ Fireball\n   Level: 3 Evocation\n   Casting Time: 1 action\n   Range: 150 feet\n   Components: V, S, M\n   Duration: Instantaneous\n   \n   A bright streak flashes from your pointing finger to a point \n   you choose within range and then blossoms with a low roar into \n   an explosion of flame...\n\nLook Up Monsters\n# Search for a monster\npython3 dnd.py monster --search dragon\n\n# Direct lookup\npython3 dnd.py monster ancient-red-dragon\n\n# List all monsters\npython3 dnd.py monster --list\n\n\nOutput:\n\n👹 Adult Red Dragon\n   Huge Dragon, chaotic evil\n   CR 17 (18,000 XP)\n   \n   AC: 19\n   HP: 256 (19d12+133)\n   Speed: walk 40 ft., climb 40 ft., fly 80 ft.\n   \n   STR 27 | DEX 10 | CON 25\n   INT 16 | WIS 13 | CHA 21\n   \n   Special Abilities:\n   • Legendary Resistance (3/Day): If the dragon fails a saving throw...\n   \n   Actions:\n   • Multiattack: The dragon can use its Frightful Presence...\n\nGenerate Random Character\n# Generate character with rolled stats\npython3 dnd.py character\n\n\nOutput:\n\n⚔️  Elara\n   Race: Elf\n   Class: Wizard\n   \n   Stats:\n   STR: 10 (+0)\n   DEX: 15 (+2)\n   CON: 12 (+1)\n   INT: 16 (+3)\n   WIS: 13 (+1)\n   CHA: 8 (-1)\n\nGenerate Random Encounter\n# Generate encounter with challenge rating\npython3 dnd.py encounter --cr 5\n\n# Random CR\npython3 dnd.py encounter\n\n\nOutput:\n\n🎲 Random Encounter (CR ~5)\n\n   2x Troll (CR 5)\n      AC 15, HP 84\n   1x Ogre (CR 2)\n      AC 11, HP 59\n\nGenerate Random NPC\npython3 dnd.py npc\n\n\nOutput:\n\n👤 Finn Shadowend\n   Race: Halfling\n   Occupation: Merchant\n   Trait: Curious\n\nExample Prompts for Clawdbot\n\"Roll 2d20 with advantage\" (I'll roll twice!)\n\"Look up the Fireball spell\"\n\"Show me stats for a Beholder\"\n\"Generate a random character\"\n\"Create an encounter for level 5 party\"\n\"Give me an NPC for my tavern scene\"\nJSON Output\n\nAdd --json to any command for structured output:\n\npython3 dnd.py roll 2d6 --json\npython3 dnd.py spell --search fireball --json\npython3 dnd.py character --json\n\nAPI Source\n\nUses the official D&D 5e API which includes all System Reference Document (SRD) content.\n\nTips\nSpell names use lowercase with hyphens: fireball, magic-missile, cure-wounds\nMonster names same format: ancient-red-dragon, goblin, beholder\nSearch if unsure of exact name: --search dragon will show all dragons\nDice format is flexible: 1d20, 2d6+5, 3d8-2, 100d100\nFuture Ideas\nInitiative tracker\nTreasure generator\nQuest/plot hook generator\nRandom dungeon generator\nParty manager\nCampaign notes\n\nEnjoy your adventure! 🐉⚔️✨"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/capt-marbles/dnd",
    "publisherUrl": "https://clawhub.ai/capt-marbles/dnd",
    "owner": "capt-marbles",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/dnd",
    "downloadUrl": "https://openagent3.xyz/downloads/dnd",
    "agentUrl": "https://openagent3.xyz/skills/dnd/agent",
    "manifestUrl": "https://openagent3.xyz/skills/dnd/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/dnd/agent.md"
  }
}