[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6E41MBNMPJHVSN0D6S1G477":3,"skill-same:01M6E41MBNMPJHVSN0D6S1G477":83},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":51,"commitSha":52,"skillDirectory":53,"forksCount":54,"repositoryHtmlUrl":55,"repositoryHomepageUrl":6,"ownerHtmlUrl":56,"ownerBlogUrl":57,"ownerDescription":6,"updatedAt":58,"install":59,"resources":72},"01M6E41MBNMPJHVSN0D6S1G477","astro-observation-planner",null,"Use this skill when both of these are present: (1) a night or time reference — \"tonight\", \"tomorrow\", \"this weekend\", \"Saturday night\", or any specific date; (2) observing intent — stargazing, skywatching, telescope or binocular use, wanting to know what's visible or \"up\", asking whether a specific object (planet, galaxy, nebula, cluster) can be seen, or planning any kind of sky-watching session. None of these needs to be stated formally — \"what's up from Austin tonight\" and \"going skywatching in Champaign tomorrow\" both qualify. Outputs twilight windows, Moon phase, planetary visibility, and a filtered deep-sky catalog. Do not trigger for general astronomy education, equipment setup, or conceptual questions lacking location + night + observing intent.","WolframResearch\u002Fskills","WolframResearch","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F11549616?v=4","01M6E41JCSCYS27VBY50QF2Q66","Wolfram Research, Inc.","01M6E41JH6XYAVRJE6BEZB531E",20,"MIT","https:\u002F\u002Fgithub.com\u002FWolframResearch\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fastro-observation-planner\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"astro observation planner","astro","planner","general","qualify","cluster","trigger","deep","time","location","do","intent","MCP","up","use","catalog","session","planning","windows","kernel","2026-11-10 10:12:30",false,"---\nname: astro-observation-planner\ndescription: >\n  Use this skill when both of these are present: (1) a night or time reference — \"tonight\", \"tomorrow\", \"this weekend\", \"Saturday night\", or any specific date; (2) observing intent — stargazing, skywatching, telescope or binocular use, wanting to know what's visible or \"up\", asking whether a specific object (planet, galaxy, nebula, cluster) can be seen, or planning any kind of sky-watching session. None of these needs to be stated formally — \"what's up from Austin tonight\" and \"going skywatching in Champaign tomorrow\" both qualify. Outputs twilight windows, Moon phase, planetary visibility, and a filtered deep-sky catalog. Do not trigger for general astronomy education, equipment setup, or conceptual questions lacking location + night + observing intent.\ncompatibility: Requires Wolfram Language kernel and Wolfram MCP tools\n---\n\n# Astronomical Observation Planner\n\nProduces a four-part observation plan: twilight window, Moon summary, planetary visibility, and a deep-sky object table. **Display each part to the user as soon as it is computed** — do not wait for all four parts before showing anything. The DSO query in Part 4 can take a minute or more.\n\n## Step 0 — Confirm location and date\n\n### Location\n- If the user gives a location explicitly, use it and proceed.\n- If not, you may have an approximate location from context. **Always tell the user what location you are using** and note that inferred locations may not be precise — ask if they'd like to specify a city or coordinates. Never silently use an inferred location; precision matters for rise\u002Fset times.\n\n### Date\n- Default to today if the user says \"tonight\" or gives no date.\n- Use the date the user specifies for future or past nights.\n\n### Display timezone\n`Sunrise`\u002F`Sunset` embed the kernel's UTC offset in returned times. Ask the user: **\"What timezone are you in?\"** (or infer it from the observation location if they are observing from where they are). Then set:\n```wl\n$AstroDisplayTZ = \"America\u002FNew_York\"  (* IANA name — handles DST automatically *)\n(* or a numeric UTC offset: $AstroDisplayTZ = -4 *)\n```\nIf the user's timezone matches the kernel's, leave it as `None`. All time formatting functions read this variable automatically. Note: WL's built-in `$TimeZone` takes a numeric offset and is unrelated — setting it does not reformat times already returned by `Sunrise`\u002F`Sunset`.\n\n### Parameters\n\n**Part 4 (deep-sky objects) is optional.** The DSO query takes 1–2 minutes and can return hundreds of results, which may consume significant tokens on lower-tier plans. Ask the user whether they want it — Parts 1–3 (twilight, Moon, planets) run quickly and may be sufficient.\n\nIf the user wants Part 4, confirm:\n\n- **Equipment \u002F sky conditions** (sets the magnitude limit):\n  - Naked eye, dark skies: ~6 | Naked eye, suburban: ~4\n  - Binoculars: ~9 | Small telescope (4–6\"): ~11 | Large telescope (8\"+): ~13\n- **Minimum altitude:** default **10°** — adjust if the user has a specific horizon constraint.\n\nObject types are fixed: galaxies, star clusters, nebulae.\n\n### Output format\nAll function results return Associations with string keys and plain string\u002Fnumber values. Choose format before computing:\n- **Wolfram Notebook \u002F Desktop** — `Dataset[rows]` renders natively\n- **Chat interface** — `ExportString[Dataset[rows], \"Markdown\"]` produces a clean Markdown table (all values are already plain strings — no conversion needed)\n- **HTML report** — build a styled HTML string and `CloudDeploy` it\n\n## Step 1 — Load the implementation\n\n**First, determine kernel persistence.** Run this probe as a single evaluator call:\n```wl\n$testPersistence = \"alive\"; $testPersistence\n```\nThen immediately run a second call:\n```wl\n$testPersistence\n```\n- If the second call returns `\"alive\"` → kernel is **persistent**. Load once at the start; definitions persist for all subsequent calls.\n- If the second call returns `$testPersistence` unevaluated or raises an undefined-symbol warning → kernel is **stateless**. Prepend the relevant `Get` call(s) to the top of every evaluator call that uses them.\n\nLoad the core file (shared helpers + Parts 1–3) with:\n```wl\nGet[\"https:\u002F\u002Fraw.githubusercontent.com\u002FWolframResearch\u002Fskills\u002Fmain\u002Fskills\u002Fastro-observation-planner\u002Freferences\u002Fastro-observation-core.wl\"]\n```\n\nIf the user confirmed they want Part 4 (deep-sky objects) in Step 0, also load:\n```wl\nGet[\"https:\u002F\u002Fraw.githubusercontent.com\u002FWolframResearch\u002Fskills\u002Fmain\u002Fskills\u002Fastro-observation-planner\u002Freferences\u002Fastro-observation-dso.wl\"]\n```\n\n**No internet access**: if the kernel cannot reach the URLs, read `references\u002Fastro-observation-core.wl` (and `references\u002Fastro-observation-dso.wl` if Part 4 is needed) from this skill's directory and evaluate their contents instead.\n\n`astro-observation-core.wl` defines: `$AstroDisplayTZ`, `AstroTimeStr`, `AstroDateTimeStr`, `AstroAltStr`, `AstroMagStr`, `AstroDurStr`, `AstroInWindow`, `AstroTwilightSummary`, `AstroMoonSummary`, `AstroPlanetTable`.  \n`astro-observation-dso.wl` defines: `AstroDSOTable` and its internal helpers `iAstroDSONormalize`, `iAstroDSOVisibleQ`, `iAstroDSOClassify`.\n\nIn a stateless kernel, prepend the relevant `Get[...]` call(s) to each evaluator call below.\n\n## Step 2 — Run each part in sequence\n\nCall these functions in order. After each part, **paste the Markdown string returned by `ExportString` directly into your response** — do not leave it as WL kernel output. Pass `part[\"Rows\"]` directly to `Dataset`; do not unpack or reconstruct rows manually.\n\n### Part 1: Twilight summary\n```wl\npart1 = AstroTwilightSummary[loc, observeDate];\nExportString[Dataset[part1[\"Rows\"]], \"Markdown\"]\n```\nPaste the result into your response. If `part1[\"NoAstroDark\"]` is True, tell the user there is no astronomical darkness tonight (common at high latitudes in summer) and offer to continue with nautical twilight as the dark window. Do not proceed with Parts 2–4 using `Missing[\"NoAstronomicalDark\"]` as the dusk\u002Fdawn values — ask the user if they want to continue.\n\n### Part 2: Moon summary\n```wl\npart2 = AstroMoonSummary[loc, observeDate, part1[\"AstroDusk\"], part1[\"AstroDawn\"]];\nExportString[Dataset[part2[\"Rows\"]], \"Markdown\"]\n```\nPaste the result into your response. Note whether the Moon sets during the session (`part2[\"MoonSet\"]` is a DateObject) or is up all night (Missing). If the Moon is >50% illuminated and up during prime hours, mention the impact on deep-sky visibility.\n\n### Part 3: Planetary visibility\n```wl\npart3 = AstroPlanetTable[loc, observeDate, part1[\"AstroDusk\"], part1[\"AstroDawn\"]];\nExportString[Dataset[part3], \"Markdown\"]\n```\nPaste the result into your response. Call out any bright planets (mag \u003C 0) or planets visible for most of the session.\n\n### Part 4: Deep-sky objects\n\n**Only run Part 4 if the user confirmed they want deep-sky objects in Step 0.** If they did not, skip this section entirely.\n\n```wl\npart4 = AstroDSOTable[loc, observeDate, part1[\"AstroDusk\"], part1[\"AstroDawn\"]];\n```\nThis query takes 1–2 minutes. Tell the user it's running. When complete, paste each table into your response:\n```wl\n(* Top 25 by set time — catch them before they set *)\nExportString[Dataset[Take[part4[\"Rows\"], 25]], \"Markdown\"]\n(* Up-all-night highlights — brightest objects with Set = \"Up until dawn\" *)\nupAllNight = Select[part4[\"Rows\"], #[\"Set\"] === \"Up until dawn\" &];\nExportString[Dataset[Take[SortBy[upAllNight, #[\"Mag\"] &], 15]], \"Markdown\"]\n```\nAlso report: total visible objects, breakdown by type, how many set during the session vs up all night.\n\n## Notes\n\n**Resolving locations.** Always use `\\[FreeformPrompt][\"city name\"]` to obtain the correct entity — never write `Entity[...]` by hand. If the result is ambiguous or fails with `Sunrise`\u002F`Sunset`, fall back to `GeoPosition[{lat, lon}]` — all functions accept either form.\n\n**Times display in kernel timezone** unless `$AstroDisplayTZ` is set in Step 0. `Sunrise`\u002F`Sunset` return times in the kernel's timezone; setting `$AstroDisplayTZ` to the user's timezone string (e.g. `\"Europe\u002FLondon\"`) causes all `AstroTimeStr`\u002F`AstroDateTimeStr` calls to convert automatically.\n\n**Rise\u002Fset label meanings** in the DSO table (times are LST-derived, session-relative):\n- `\"Already up\"` — object was above the horizon when astronomical dark began\n- `\"Up until dawn\"` — object does not set before astronomical dawn\n- A clock time — the object rises or sets during the session window\n\n**Planet table** shows actual `M\u002FD HH:MM` (24h) rise and set times regardless of whether they fall inside the dark window. Planets are sorted by session set time so in-window planets appear first; planets that set before dark or rise after dawn appear at the bottom with their real times.\n\n## Optional: Shareable output\n\nAfter generating the plan, offer the user one of the following depending on their preference:\n\n**Recomputable cloud notebook** — build a `Notebook[{cells...}]` expression with a `Get` cell to load the functions and one cell per part, then deploy:\n```wl\nCloudDeploy[\n  Notebook[{\n    Cell[\"Observation Plan — \u003Clocation> — \u003Cdate>\", \"Title\"],\n    Cell[BoxData[\"Get[\\\"https:\u002F\u002Fraw.githubusercontent.com\u002FWolframResearch\u002Fskills\u002Fmain\u002Fskills\u002Fastro-observation-planner\u002Freferences\u002Fastro-observation-core.wl\\\"]\"], \"Input\"],\n    (* Include the DSO Get cell only if Part 4 was requested *)\n    Cell[BoxData[\"Get[\\\"https:\u002F\u002Fraw.githubusercontent.com\u002FWolframResearch\u002Fskills\u002Fmain\u002Fskills\u002Fastro-observation-planner\u002Freferences\u002Fastro-observation-dso.wl\\\"]\"], \"Input\"],\n    Cell[BoxData[\"part1 = AstroTwilightSummary[loc, observeDate]\"], \"Input\"],\n    (* ... one Input cell per part ... *)\n  }],\n  Permissions -> \"Public\"\n]\n```\nReturns a URL anyone can open and re-evaluate.\n\n**Shareable HTML report** — build a styled HTML string and deploy:\n```wl\nCloudDeploy[ExportForm[htmlString, \"HTML\"], Permissions -> \"Public\"]\n```\nReturns a URL to a static page — no WL kernel required to view.\n\n**Local file** — if cloud deployment is unavailable, offer to produce a Markdown summary or notebook file the user can save or deploy themselves.\n","# Astronomical Observation Planner\n\nProduces a four-part observation plan: twilight window, Moon summary, planetary visibility, and a deep-sky object table. **Display each part to the user as soon as it is computed** — do not wait for all four parts before showing anything. The DSO query in Part 4 can take a minute or more.\n\n## Step 0 — Confirm location and date\n\n### Location\n- If the user gives a location explicitly, use it and proceed.\n- If not, you may have an approximate location from context. **Always tell the user what location you are using** and note that inferred locations may not be precise — ask if they'd like to specify a city or coordinates. Never silently use an inferred location; precision matters for rise\u002Fset times.\n\n### Date\n- Default to today if the user says \"tonight\" or gives no date.\n- Use the date the user specifies for future or past nights.\n\n### Display timezone\n`Sunrise`\u002F`Sunset` embed the kernel's UTC offset in returned times. Ask the user: **\"What timezone are you in?\"** (or infer it from the observation location if they are observing from where they are). Then set:\n```wl\n$AstroDisplayTZ = \"America\u002FNew_York\"  (* IANA name — handles DST automatically *)\n(* or a numeric UTC offset: $AstroDisplayTZ = -4 *)\n```\nIf the user's timezone matches the kernel's, leave it as `None`. All time formatting functions read this variable automatically. Note: WL's built-in `$TimeZone` takes a numeric offset and is unrelated — setting it does not reformat times already returned by `Sunrise`\u002F`Sunset`.\n\n### Parameters\n\n**Part 4 (deep-sky objects) is optional.** The DSO query takes 1–2 minutes and can return hundreds of results, which may consume significant tokens on lower-tier plans. Ask the user whether they want it — Parts 1–3 (twilight, Moon, planets) run quickly and may be sufficient.\n\nIf the user wants Part 4, confirm:\n\n- **Equipment \u002F sky conditions** (sets the magnitude limit):\n  - Naked eye, dark skies: ~6 | Naked eye, suburban: ~4\n  - Binoculars: ~9 | Small telescope (4–6\"): ~11 | Large telescope (8\"+): ~13\n- **Minimum altitude:** default **10°** — adjust if the user has a specific horizon constraint.\n\nObject types are fixed: galaxies, star clusters, nebulae.\n\n### Output format\nAll function results return Associations with string keys and plain string\u002Fnumber values. Choose format before computing:\n- **Wolfram Notebook \u002F Desktop** — `Dataset[rows]` renders natively\n- **Chat interface** — `ExportString[Dataset[rows], \"Markdown\"]` produces a clean Markdown table (all values are already plain strings — no conversion needed)\n- **HTML report** — build a styled HTML string and `CloudDeploy` it\n\n## Step 1 — Load the implementation\n\n**First, determine kernel persistence.** Run this probe as a single evaluator call:\n```wl\n$testPersistence = \"alive\"; $testPersistence\n```\nThen immediately run a second call:\n```wl\n$testPersistence\n```\n- If the second call returns `\"alive\"` → kernel is **persistent**. Load once at the start; definitions persist for all subsequent calls.\n- If the second call returns `$testPersistence` unevaluated or raises an undefined-symbol warning → kernel is **stateless**. Prepend the relevant `Get` call(s) to the top of every evaluator call that uses them.\n\nLoad the core file (shared helpers + Parts 1–3) with:\n```wl\nGet[\"https:\u002F\u002Fraw.githubusercontent.com\u002FWolframResearch\u002Fskills\u002Fmain\u002Fskills\u002Fastro-observation-planner\u002Freferences\u002Fastro-observation-core.wl\"]\n```\n\nIf the user confirmed they want Part 4 (deep-sky objects) in Step 0, also load:\n```wl\nGet[\"https:\u002F\u002Fraw.githubusercontent.com\u002FWolframResearch\u002Fskills\u002Fmain\u002Fskills\u002Fastro-observation-planner\u002Freferences\u002Fastro-observation-dso.wl\"]\n```\n\n**No internet access**: if the kernel cannot reach the URLs, read `references\u002Fastro-observation-core.wl` (and `references\u002Fastro-observation-dso.wl` if Part 4 is needed) from this skill's directory and evaluate their contents instead.\n\n`astro-observation-core.wl` defines: `$AstroDisplayTZ`, `AstroTimeStr`, `AstroDateTimeStr`, `AstroAltStr`, `AstroMagStr`, `AstroDurStr`, `AstroInWindow`, `AstroTwilightSummary`, `AstroMoonSummary`, `AstroPlanetTable`.  \n`astro-observation-dso.wl` defines: `AstroDSOTable` and its internal helpers `iAstroDSONormalize`, `iAstroDSOVisibleQ`, `iAstroDSOClassify`.\n\nIn a stateless kernel, prepend the relevant `Get[...]` call(s) to each evaluator call below.\n\n## Step 2 — Run each part in sequence\n\nCall these functions in order. After each part, **paste the Markdown string returned by `ExportString` directly into your response** — do not leave it as WL kernel output. Pass `part[\"Rows\"]` directly to `Dataset`; do not unpack or reconstruct rows manually.\n\n### Part 1: Twilight summary\n```wl\npart1 = AstroTwilightSummary[loc, observeDate];\nExportString[Dataset[part1[\"Rows\"]], \"Markdown\"]\n```\nPaste the result into your response. If `part1[\"NoAstroDark\"]` is True, tell the user there is no astronomical darkness tonight (common at high latitudes in summer) and offer to continue with nautical twilight as the dark window. Do not proceed with Parts 2–4 using `Missing[\"NoAstronomicalDark\"]` as the dusk\u002Fdawn values — ask the user if they want to continue.\n\n### Part 2: Moon summary\n```wl\npart2 = AstroMoonSummary[loc, observeDate, part1[\"AstroDusk\"], part1[\"AstroDawn\"]];\nExportString[Dataset[part2[\"Rows\"]], \"Markdown\"]\n```\nPaste the result into your response. Note whether the Moon sets during the session (`part2[\"MoonSet\"]` is a DateObject) or is up all night (Missing). If the Moon is >50% illuminated and up during prime hours, mention the impact on deep-sky visibility.\n\n### Part 3: Planetary visibility\n```wl\npart3 = AstroPlanetTable[loc, observeDate, part1[\"AstroDusk\"], part1[\"AstroDawn\"]];\nExportString[Dataset[part3], \"Markdown\"]\n```\nPaste the result into your response. Call out any bright planets (mag \u003C 0) or planets visible for most of the session.\n\n### Part 4: Deep-sky objects\n\n**Only run Part 4 if the user confirmed they want deep-sky objects in Step 0.** If they did not, skip this section entirely.\n\n```wl\npart4 = AstroDSOTable[loc, observeDate, part1[\"AstroDusk\"], part1[\"AstroDawn\"]];\n```\nThis query takes 1–2 minutes. Tell the user it's running. When complete, paste each table into your response:\n```wl\n(* Top 25 by set time — catch them before they set *)\nExportString[Dataset[Take[part4[\"Rows\"], 25]], \"Markdown\"]\n(* Up-all-night highlights — brightest objects with Set = \"Up until dawn\" *)\nupAllNight = Select[part4[\"Rows\"], #[\"Set\"] === \"Up until dawn\" &];\nExportString[Dataset[Take[SortBy[upAllNight, #[\"Mag\"] &], 15]], \"Markdown\"]\n```\nAlso report: total visible objects, breakdown by type, how many set during the session vs up all night.\n\n## Notes\n\n**Resolving locations.** Always use `\\[FreeformPrompt][\"city name\"]` to obtain the correct entity — never write `Entity[...]` by hand. If the result is ambiguous or fails with `Sunrise`\u002F`Sunset`, fall back to `GeoPosition[{lat, lon}]` — all functions accept either form.\n\n**Times display in kernel timezone** unless `$AstroDisplayTZ` is set in Step 0. `Sunrise`\u002F`Sunset` return times in the kernel's timezone; setting `$AstroDisplayTZ` to the user's timezone string (e.g. `\"Europe\u002FLondon\"`) causes all `AstroTimeStr`\u002F`AstroDateTimeStr` calls to convert automatically.\n\n**Rise\u002Fset label meanings** in the DSO table (times are LST-derived, session-relative):\n- `\"Already up\"` — object was above the horizon when astronomical dark began\n- `\"Up until dawn\"` — object does not set before astronomical dawn\n- A clock time — the object rises or sets during the session window\n\n**Planet table** shows actual `M\u002FD HH:MM` (24h) rise and set times regardless of whether they fall inside the dark window. Planets are sorted by session set time so in-window planets appear first; planets that set before dark or rise after dawn appear at the bottom with their real times.\n\n## Optional: Shareable output\n\nAfter generating the plan, offer the user one of the following depending on their preference:\n\n**Recomputable cloud notebook** — build a `Notebook[{cells...}]` expression with a `Get` cell to load the functions and one cell per part, then deploy:\n```wl\nCloudDeploy[\n  Notebook[{\n    Cell[\"Observation Plan — \u003Clocation> — \u003Cdate>\", \"Title\"],\n    Cell[BoxData[\"Get[\\\"https:\u002F\u002Fraw.githubusercontent.com\u002FWolframResearch\u002Fskills\u002Fmain\u002Fskills\u002Fastro-observation-planner\u002Freferences\u002Fastro-observation-core.wl\\\"]\"], \"Input\"],\n    (* Include the DSO Get cell only if Part 4 was requested *)\n    Cell[BoxData[\"Get[\\\"https:\u002F\u002Fraw.githubusercontent.com\u002FWolframResearch\u002Fskills\u002Fmain\u002Fskills\u002Fastro-observation-planner\u002Freferences\u002Fastro-observation-dso.wl\\\"]\"], \"Input\"],\n    Cell[BoxData[\"part1 = AstroTwilightSummary[loc, observeDate]\"], \"Input\"],\n    (* ... one Input cell per part ... *)\n  }],\n  Permissions -> \"Public\"\n]\n```\nReturns a URL anyone can open and re-evaluate.\n\n**Shareable HTML report** — build a styled HTML string and deploy:\n```wl\nCloudDeploy[ExportForm[htmlString, \"HTML\"], Permissions -> \"Public\"]\n```\nReturns a URL to a static page — no WL kernel required to view.\n\n**Local file** — if cloud deployment is unavailable, offer to produce a Markdown summary or notebook file the user can save or deploy themselves.\n",{"name":5,"description":49,"compatibility":50},"Use this skill when both of these are present: (1) a night or time reference — \"tonight\", \"tomorrow\", \"this weekend\", \"Saturday night\", or any specific date; (2) observing intent — stargazing, skywatching, telescope or binocular use, wanting to know what's visible or \"up\", asking whether a specific object (planet, galaxy, nebula, cluster) can be seen, or planning any kind of sky-watching session. None of these needs to be stated formally — \"what's up from Austin tonight\" and \"going skywatching in Champaign tomorrow\" both qualify. Outputs twilight windows, Moon phase, planetary visibility, and a filtered deep-sky catalog. Do not trigger for general astronomy education, equipment setup, or conceptual questions lacking location + night + observing intent.\n","Requires Wolfram Language kernel and Wolfram MCP tools","main","359f7770bdc49be4390669f9f96d0afd6822d88c","skills\u002Fastro-observation-planner",1,"https:\u002F\u002Fgithub.com\u002FWolframResearch\u002Fskills","https:\u002F\u002Fgithub.com\u002FWolframResearch","https:\u002F\u002Fwolfram.com\u002Fopen-materials\u002F","2026-07-23 13:10:47",{"source":8,"skillName":5,"commands":60,"prompt":70,"zipAvailable":71},[61,64,67],{"tool":62,"command":63},"npx","npx skills add WolframResearch\u002Fskills --skill astro-observation-planner",{"tool":65,"command":66},"bunx","bunx skills add WolframResearch\u002Fskills --skill astro-observation-planner",{"tool":68,"command":69},"pnpm","pnpm dlx skills add WolframResearch\u002Fskills --skill astro-observation-planner","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FWolframResearch\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fastro-observation-planner\u002FSKILL.md",true,[73,79],{"path":74,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":77,"sourceHtmlUrl":78},"references\u002Fastro-observation-core.wl","REFERENCE","参考文档",15929,"https:\u002F\u002Fgithub.com\u002FWolframResearch\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fastro-observation-planner\u002Freferences\u002Fastro-observation-core.wl",{"path":80,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":81,"sourceHtmlUrl":82},"references\u002Fastro-observation-dso.wl",10828,"https:\u002F\u002Fgithub.com\u002FWolframResearch\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fastro-observation-planner\u002Freferences\u002Fastro-observation-dso.wl",[84,94],{"skillNo":85,"name":86,"nameZh":6,"description":87,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":88,"categories":89,"keywords":91,"publishedAt":44},"01M6E41VKQMDFQY7XHRN2SCCDK","template-skill","Replace with description of the skill and when Claude should use it.","https:\u002F\u002Fgithub.com\u002FWolframResearch\u002Fskills\u002Fblob\u002Fmain\u002Ftemplate\u002FSKILL.md",[90],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[92,93,38],"template","template skill",{"skillNo":95,"name":96,"nameZh":6,"description":97,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":98,"categories":99,"keywords":101,"publishedAt":44},"01M6E41RCK5YHJ7ERKZKM6DFQ9","wolfram-setup","Install and activate the Wolfram Engine, and set up the Wolfram MCP server (local or remote). Use when: installing Wolfram Engine, activating a Wolfram Engine license, setting up wolframscript, configuring the Wolfram MCP server for any AI assistant or coding client, or connecting to the free remote Wolfram MCP service.","https:\u002F\u002Fgithub.com\u002FWolframResearch\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fwolfram-setup\u002FSKILL.md",[100],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[102,103,104,105,106,107,108,37,38,109,36,110,111,112,113,114,115,42,116,117],"setup","wolfram setup","engine","name","free","local","activate","install","ai assistant","SET","specify","server","license","mcp client","mcp server","linux"]