skills v3
This commit is contained in:
89
.idea/SKILL.md
generated
89
.idea/SKILL.md
generated
@@ -106,44 +106,69 @@ For OpenClaw, inspect `raw` for domain-specific fields:
|
|||||||
- Placeables: production types, power/water fields, craftable recipe relationships.
|
- Placeables: production types, power/water fields, craftable recipe relationships.
|
||||||
- NPCs: `raw.description`, `raw.npcTags`, category metadata.
|
- NPCs: `raw.description`, `raw.npcTags`, category metadata.
|
||||||
|
|
||||||
## Discord Output Contract
|
## Discord Markdown Output Contract
|
||||||
|
|
||||||
When OpenClaw asks for an answer intended for Discord, return Discord embed JSON instead of plain text. The bot should be able to send the returned payload directly.
|
Rich Discord embeds are not available yet. When OpenClaw asks for Discord output, return a plain Discord message string formatted with Discord-supported Markdown only. Do not return embed JSON.
|
||||||
|
|
||||||
Use this shape:
|
Use supported Markdown:
|
||||||
|
|
||||||
```json
|
- Headings with `#`, `##`, or `###` for short section titles.
|
||||||
{
|
- Bold with asterisks, for example `**Assassin's Rifle**`. Do not use underscores for bold.
|
||||||
"embeds": [
|
- Italic sparingly for secondary text.
|
||||||
{
|
- Unordered lists with `-` for fields and search results.
|
||||||
"title": "Assassin's Rifle",
|
- Ordered lists for ranked results.
|
||||||
"url": "https://dune.api.coppnic.cc/api/item/LongRifle_Unique_Poison_03?language=en",
|
- Inline code for ids, dataset names, stat keys, and short values.
|
||||||
"description": "Short useful summary for Discord.",
|
- Fenced code blocks for compact JSON or command examples.
|
||||||
"color": 15198183,
|
- Links with `[label](url)` when a clean label helps.
|
||||||
"fields": [
|
- Blockquotes with `>` or `>>>` for quoted descriptions.
|
||||||
{ "name": "Dataset", "value": "item", "inline": true },
|
- Strikethrough only when it adds useful meaning.
|
||||||
{ "name": "Language", "value": "en", "inline": true },
|
|
||||||
{
|
Avoid unsupported or unreliable formatting:
|
||||||
"name": "Source ID",
|
|
||||||
"value": "LongRifle_Unique_Poison_03",
|
- No Markdown tables.
|
||||||
"inline": false
|
- No HTML.
|
||||||
}
|
- No horizontal rules.
|
||||||
],
|
- No task lists.
|
||||||
"footer": { "text": "Dune API" }
|
- No footnotes, heading ids, definition lists, subscript, superscript, or highlight syntax.
|
||||||
}
|
- No images in Markdown.
|
||||||
]
|
- Do not rely on Markdown paragraph syntax or special line-break syntax; use normal newline-separated lines.
|
||||||
}
|
|
||||||
|
Default Discord result format:
|
||||||
|
|
||||||
|
```text
|
||||||
|
## Assassin's Rifle
|
||||||
|
**Type:** `item`
|
||||||
|
**Language:** `en`
|
||||||
|
**Source ID:** `LongRifle_Unique_Poison_03`
|
||||||
|
**Category:** `weapon` / `rifle`
|
||||||
|
|
||||||
|
**Stats**
|
||||||
|
- Damage: `128.25`
|
||||||
|
- Accuracy: `1.2`
|
||||||
|
- Clip Size: `2`
|
||||||
|
|
||||||
|
[Open in Dune API](https://dune.api.coppnic.cc/api/item/LongRifle_Unique_Poison_03?language=en)
|
||||||
```
|
```
|
||||||
|
|
||||||
Embed rules:
|
Search result format:
|
||||||
|
|
||||||
- Use `name` or `raw.name` as the embed title.
|
```text
|
||||||
- Use the matching Dune API URL as the embed URL.
|
## Search Results: poison
|
||||||
- Keep descriptions short; do not dump the full `raw` object.
|
1. **Poison Mine** (`skill`) - `skills_ability_poisonmine`
|
||||||
- Put compact facts in fields and omit empty fields.
|
2. **Assassin's Rifle** (`item`) - `LongRifle_Unique_Poison_03`
|
||||||
- Return at most 5 embeds for search results.
|
|
||||||
- Keep field values below Discord limits.
|
Use `/api/{dataset}/{id}?language=en` for details.
|
||||||
- Use decimal colors: item `15198183`, skill `3447003`, recipe `5763719`, placeable `15844367`, npc `10181046`.
|
```
|
||||||
|
|
||||||
|
Discord response rules:
|
||||||
|
|
||||||
|
- Keep responses concise enough for Discord message limits.
|
||||||
|
- Show at most 10 compact search results unless the user asks for more.
|
||||||
|
- For detailed records, prefer the most useful 5 to 8 fields.
|
||||||
|
- Do not dump the full `raw` object.
|
||||||
|
- Omit empty, null, unknown, or noisy fields.
|
||||||
|
- Include a Dune API link for single-record answers.
|
||||||
|
- Prefer singular datasets: `item`, `skill`, `recipe`, `placeable`, `npc`.
|
||||||
|
|
||||||
Dataset field ideas:
|
Dataset field ideas:
|
||||||
|
|
||||||
|
|||||||
89
SKILL.md
89
SKILL.md
@@ -40,44 +40,69 @@ items, skills, recipes, placeables, npcs
|
|||||||
|
|
||||||
Use singular datasets for complete stats and relationships. Use plural datasets only when a compact Questlog page-summary record is enough.
|
Use singular datasets for complete stats and relationships. Use plural datasets only when a compact Questlog page-summary record is enough.
|
||||||
|
|
||||||
## Discord Output Contract
|
## Discord Markdown Output Contract
|
||||||
|
|
||||||
When OpenClaw asks for an answer intended for Discord, return Discord embed JSON instead of plain text. The bot should be able to send the returned payload directly.
|
Rich Discord embeds are not available yet. When OpenClaw asks for Discord output, return a plain Discord message string formatted with Discord-supported Markdown only. Do not return embed JSON.
|
||||||
|
|
||||||
Use this shape:
|
Use supported Markdown:
|
||||||
|
|
||||||
```json
|
- Headings with `#`, `##`, or `###` for short section titles.
|
||||||
{
|
- Bold with asterisks, for example `**Assassin's Rifle**`. Do not use underscores for bold.
|
||||||
"embeds": [
|
- Italic sparingly for secondary text.
|
||||||
{
|
- Unordered lists with `-` for fields and search results.
|
||||||
"title": "Assassin's Rifle",
|
- Ordered lists for ranked results.
|
||||||
"url": "https://dune.api.coppnic.cc/api/item/LongRifle_Unique_Poison_03?language=en",
|
- Inline code for ids, dataset names, stat keys, and short values.
|
||||||
"description": "Short useful summary for Discord.",
|
- Fenced code blocks for compact JSON or command examples.
|
||||||
"color": 15198183,
|
- Links with `[label](url)` when a clean label helps.
|
||||||
"fields": [
|
- Blockquotes with `>` or `>>>` for quoted descriptions.
|
||||||
{ "name": "Dataset", "value": "item", "inline": true },
|
- Strikethrough only when it adds useful meaning.
|
||||||
{ "name": "Language", "value": "en", "inline": true },
|
|
||||||
{
|
Avoid unsupported or unreliable formatting:
|
||||||
"name": "Source ID",
|
|
||||||
"value": "LongRifle_Unique_Poison_03",
|
- No Markdown tables.
|
||||||
"inline": false
|
- No HTML.
|
||||||
}
|
- No horizontal rules.
|
||||||
],
|
- No task lists.
|
||||||
"footer": { "text": "Dune API" }
|
- No footnotes, heading ids, definition lists, subscript, superscript, or highlight syntax.
|
||||||
}
|
- No images in Markdown.
|
||||||
]
|
- Do not rely on Markdown paragraph syntax or special line-break syntax; use normal newline-separated lines.
|
||||||
}
|
|
||||||
|
Default Discord result format:
|
||||||
|
|
||||||
|
```text
|
||||||
|
## Assassin's Rifle
|
||||||
|
**Type:** `item`
|
||||||
|
**Language:** `en`
|
||||||
|
**Source ID:** `LongRifle_Unique_Poison_03`
|
||||||
|
**Category:** `weapon` / `rifle`
|
||||||
|
|
||||||
|
**Stats**
|
||||||
|
- Damage: `128.25`
|
||||||
|
- Accuracy: `1.2`
|
||||||
|
- Clip Size: `2`
|
||||||
|
|
||||||
|
[Open in Dune API](https://dune.api.coppnic.cc/api/item/LongRifle_Unique_Poison_03?language=en)
|
||||||
```
|
```
|
||||||
|
|
||||||
Embed rules:
|
Search result format:
|
||||||
|
|
||||||
- Use `name` or `raw.name` as the embed title.
|
```text
|
||||||
- Use the matching Dune API URL as the embed URL.
|
## Search Results: poison
|
||||||
- Keep descriptions short; do not dump the full `raw` object.
|
1. **Poison Mine** (`skill`) - `skills_ability_poisonmine`
|
||||||
- Put compact facts in fields and omit empty fields.
|
2. **Assassin's Rifle** (`item`) - `LongRifle_Unique_Poison_03`
|
||||||
- Return at most 5 embeds for search results.
|
|
||||||
- Keep field values below Discord limits.
|
Use `/api/{dataset}/{id}?language=en` for details.
|
||||||
- Use decimal colors: item `15198183`, skill `3447003`, recipe `5763719`, placeable `15844367`, npc `10181046`.
|
```
|
||||||
|
|
||||||
|
Discord response rules:
|
||||||
|
|
||||||
|
- Keep responses concise enough for Discord message limits.
|
||||||
|
- Show at most 10 compact search results unless the user asks for more.
|
||||||
|
- For detailed records, prefer the most useful 5 to 8 fields.
|
||||||
|
- Do not dump the full `raw` object.
|
||||||
|
- Omit empty, null, unknown, or noisy fields.
|
||||||
|
- Include a Dune API link for single-record answers.
|
||||||
|
- Prefer singular datasets: `item`, `skill`, `recipe`, `placeable`, `npc`.
|
||||||
|
|
||||||
Dataset field ideas:
|
Dataset field ideas:
|
||||||
|
|
||||||
|
|||||||
@@ -106,44 +106,69 @@ For OpenClaw, inspect `raw` for domain-specific fields:
|
|||||||
- Placeables: production types, power/water fields, craftable recipe relationships.
|
- Placeables: production types, power/water fields, craftable recipe relationships.
|
||||||
- NPCs: `raw.description`, `raw.npcTags`, category metadata.
|
- NPCs: `raw.description`, `raw.npcTags`, category metadata.
|
||||||
|
|
||||||
## Discord Output Contract
|
## Discord Markdown Output Contract
|
||||||
|
|
||||||
When OpenClaw asks for an answer intended for Discord, return Discord embed JSON instead of plain text. The bot should be able to send the returned payload directly.
|
Rich Discord embeds are not available yet. When OpenClaw asks for Discord output, return a plain Discord message string formatted with Discord-supported Markdown only. Do not return embed JSON.
|
||||||
|
|
||||||
Use this shape:
|
Use supported Markdown:
|
||||||
|
|
||||||
```json
|
- Headings with `#`, `##`, or `###` for short section titles.
|
||||||
{
|
- Bold with asterisks, for example `**Assassin's Rifle**`. Do not use underscores for bold.
|
||||||
"embeds": [
|
- Italic sparingly for secondary text.
|
||||||
{
|
- Unordered lists with `-` for fields and search results.
|
||||||
"title": "Assassin's Rifle",
|
- Ordered lists for ranked results.
|
||||||
"url": "https://dune.api.coppnic.cc/api/item/LongRifle_Unique_Poison_03?language=en",
|
- Inline code for ids, dataset names, stat keys, and short values.
|
||||||
"description": "Short useful summary for Discord.",
|
- Fenced code blocks for compact JSON or command examples.
|
||||||
"color": 15198183,
|
- Links with `[label](url)` when a clean label helps.
|
||||||
"fields": [
|
- Blockquotes with `>` or `>>>` for quoted descriptions.
|
||||||
{ "name": "Dataset", "value": "item", "inline": true },
|
- Strikethrough only when it adds useful meaning.
|
||||||
{ "name": "Language", "value": "en", "inline": true },
|
|
||||||
{
|
Avoid unsupported or unreliable formatting:
|
||||||
"name": "Source ID",
|
|
||||||
"value": "LongRifle_Unique_Poison_03",
|
- No Markdown tables.
|
||||||
"inline": false
|
- No HTML.
|
||||||
}
|
- No horizontal rules.
|
||||||
],
|
- No task lists.
|
||||||
"footer": { "text": "Dune API" }
|
- No footnotes, heading ids, definition lists, subscript, superscript, or highlight syntax.
|
||||||
}
|
- No images in Markdown.
|
||||||
]
|
- Do not rely on Markdown paragraph syntax or special line-break syntax; use normal newline-separated lines.
|
||||||
}
|
|
||||||
|
Default Discord result format:
|
||||||
|
|
||||||
|
```text
|
||||||
|
## Assassin's Rifle
|
||||||
|
**Type:** `item`
|
||||||
|
**Language:** `en`
|
||||||
|
**Source ID:** `LongRifle_Unique_Poison_03`
|
||||||
|
**Category:** `weapon` / `rifle`
|
||||||
|
|
||||||
|
**Stats**
|
||||||
|
- Damage: `128.25`
|
||||||
|
- Accuracy: `1.2`
|
||||||
|
- Clip Size: `2`
|
||||||
|
|
||||||
|
[Open in Dune API](https://dune.api.coppnic.cc/api/item/LongRifle_Unique_Poison_03?language=en)
|
||||||
```
|
```
|
||||||
|
|
||||||
Embed rules:
|
Search result format:
|
||||||
|
|
||||||
- Use `name` or `raw.name` as the embed title.
|
```text
|
||||||
- Use the matching Dune API URL as the embed URL.
|
## Search Results: poison
|
||||||
- Keep descriptions short; do not dump the full `raw` object.
|
1. **Poison Mine** (`skill`) - `skills_ability_poisonmine`
|
||||||
- Put compact facts in fields and omit empty fields.
|
2. **Assassin's Rifle** (`item`) - `LongRifle_Unique_Poison_03`
|
||||||
- Return at most 5 embeds for search results.
|
|
||||||
- Keep field values below Discord limits.
|
Use `/api/{dataset}/{id}?language=en` for details.
|
||||||
- Use decimal colors: item `15198183`, skill `3447003`, recipe `5763719`, placeable `15844367`, npc `10181046`.
|
```
|
||||||
|
|
||||||
|
Discord response rules:
|
||||||
|
|
||||||
|
- Keep responses concise enough for Discord message limits.
|
||||||
|
- Show at most 10 compact search results unless the user asks for more.
|
||||||
|
- For detailed records, prefer the most useful 5 to 8 fields.
|
||||||
|
- Do not dump the full `raw` object.
|
||||||
|
- Omit empty, null, unknown, or noisy fields.
|
||||||
|
- Include a Dune API link for single-record answers.
|
||||||
|
- Prefer singular datasets: `item`, `skill`, `recipe`, `placeable`, `npc`.
|
||||||
|
|
||||||
Dataset field ideas:
|
Dataset field ideas:
|
||||||
|
|
||||||
|
|||||||
89
src/SKILL.md
89
src/SKILL.md
@@ -106,44 +106,69 @@ For OpenClaw, inspect `raw` for domain-specific fields:
|
|||||||
- Placeables: production types, power/water fields, craftable recipe relationships.
|
- Placeables: production types, power/water fields, craftable recipe relationships.
|
||||||
- NPCs: `raw.description`, `raw.npcTags`, category metadata.
|
- NPCs: `raw.description`, `raw.npcTags`, category metadata.
|
||||||
|
|
||||||
## Discord Output Contract
|
## Discord Markdown Output Contract
|
||||||
|
|
||||||
When OpenClaw asks for an answer intended for Discord, return Discord embed JSON instead of plain text. The bot should be able to send the returned payload directly.
|
Rich Discord embeds are not available yet. When OpenClaw asks for Discord output, return a plain Discord message string formatted with Discord-supported Markdown only. Do not return embed JSON.
|
||||||
|
|
||||||
Use this shape:
|
Use supported Markdown:
|
||||||
|
|
||||||
```json
|
- Headings with `#`, `##`, or `###` for short section titles.
|
||||||
{
|
- Bold with asterisks, for example `**Assassin's Rifle**`. Do not use underscores for bold.
|
||||||
"embeds": [
|
- Italic sparingly for secondary text.
|
||||||
{
|
- Unordered lists with `-` for fields and search results.
|
||||||
"title": "Assassin's Rifle",
|
- Ordered lists for ranked results.
|
||||||
"url": "https://dune.api.coppnic.cc/api/item/LongRifle_Unique_Poison_03?language=en",
|
- Inline code for ids, dataset names, stat keys, and short values.
|
||||||
"description": "Short useful summary for Discord.",
|
- Fenced code blocks for compact JSON or command examples.
|
||||||
"color": 15198183,
|
- Links with `[label](url)` when a clean label helps.
|
||||||
"fields": [
|
- Blockquotes with `>` or `>>>` for quoted descriptions.
|
||||||
{ "name": "Dataset", "value": "item", "inline": true },
|
- Strikethrough only when it adds useful meaning.
|
||||||
{ "name": "Language", "value": "en", "inline": true },
|
|
||||||
{
|
Avoid unsupported or unreliable formatting:
|
||||||
"name": "Source ID",
|
|
||||||
"value": "LongRifle_Unique_Poison_03",
|
- No Markdown tables.
|
||||||
"inline": false
|
- No HTML.
|
||||||
}
|
- No horizontal rules.
|
||||||
],
|
- No task lists.
|
||||||
"footer": { "text": "Dune API" }
|
- No footnotes, heading ids, definition lists, subscript, superscript, or highlight syntax.
|
||||||
}
|
- No images in Markdown.
|
||||||
]
|
- Do not rely on Markdown paragraph syntax or special line-break syntax; use normal newline-separated lines.
|
||||||
}
|
|
||||||
|
Default Discord result format:
|
||||||
|
|
||||||
|
```text
|
||||||
|
## Assassin's Rifle
|
||||||
|
**Type:** `item`
|
||||||
|
**Language:** `en`
|
||||||
|
**Source ID:** `LongRifle_Unique_Poison_03`
|
||||||
|
**Category:** `weapon` / `rifle`
|
||||||
|
|
||||||
|
**Stats**
|
||||||
|
- Damage: `128.25`
|
||||||
|
- Accuracy: `1.2`
|
||||||
|
- Clip Size: `2`
|
||||||
|
|
||||||
|
[Open in Dune API](https://dune.api.coppnic.cc/api/item/LongRifle_Unique_Poison_03?language=en)
|
||||||
```
|
```
|
||||||
|
|
||||||
Embed rules:
|
Search result format:
|
||||||
|
|
||||||
- Use `name` or `raw.name` as the embed title.
|
```text
|
||||||
- Use the matching Dune API URL as the embed URL.
|
## Search Results: poison
|
||||||
- Keep descriptions short; do not dump the full `raw` object.
|
1. **Poison Mine** (`skill`) - `skills_ability_poisonmine`
|
||||||
- Put compact facts in fields and omit empty fields.
|
2. **Assassin's Rifle** (`item`) - `LongRifle_Unique_Poison_03`
|
||||||
- Return at most 5 embeds for search results.
|
|
||||||
- Keep field values below Discord limits.
|
Use `/api/{dataset}/{id}?language=en` for details.
|
||||||
- Use decimal colors: item `15198183`, skill `3447003`, recipe `5763719`, placeable `15844367`, npc `10181046`.
|
```
|
||||||
|
|
||||||
|
Discord response rules:
|
||||||
|
|
||||||
|
- Keep responses concise enough for Discord message limits.
|
||||||
|
- Show at most 10 compact search results unless the user asks for more.
|
||||||
|
- For detailed records, prefer the most useful 5 to 8 fields.
|
||||||
|
- Do not dump the full `raw` object.
|
||||||
|
- Omit empty, null, unknown, or noisy fields.
|
||||||
|
- Include a Dune API link for single-record answers.
|
||||||
|
- Prefer singular datasets: `item`, `skill`, `recipe`, `placeable`, `npc`.
|
||||||
|
|
||||||
Dataset field ideas:
|
Dataset field ideas:
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user