[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6FKWHSQYGQCPENDJ28AXYSN":3,"skill-same:01M6FKWHSQYGQCPENDJ28AXYSN":63},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":25,"linkOnly":26,"markdownContent":27,"markdownBody":28,"frontMatter":29,"refName":30,"commitSha":31,"skillDirectory":32,"forksCount":33,"repositoryHtmlUrl":34,"repositoryHomepageUrl":6,"ownerHtmlUrl":35,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":36,"install":37,"resources":50},"01M6FKWHSQYGQCPENDJ28AXYSN","tfl-journey-disruption",null,"Plan TfL journeys from start\u002Fend\u002Ftime, resolve locations (prefer postcodes), and warn about disruptions; suggest alternatives when disrupted.","kbarbel640-del\u002Fskills","kbarbel640-del","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F255315490?v=4","01M6CJPPQGCCESXMG3K7BBGQ5J","01M6CJPPX2PB2BCZERFVM2C2B3",1,"MIT","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fdiegopetrucci\u002Ftransport-for-london-journey-disruption\u002FSKILL.md",[],[18,19,20,21,22,23,24],"journey","tfl journey disruption","start","plan","time","end","about","2026-11-10 10:12:30",false,"---\nname: tfl-journey-disruption\ndescription: Plan TfL journeys from start\u002Fend\u002Ftime, resolve locations (prefer postcodes), and warn about disruptions; suggest alternatives when disrupted.\n---\n\n# TfL Journey Planner + Disruption Checks\n\nUse this skill when the user wants a TfL journey plan and needs disruption awareness.\n\nReference: https:\u002F\u002Ftfl.gov.uk\u002Finfo-for\u002Fopen-data-users\u002Fapi-documentation\n\n## Script helper\n\nUse `scripts\u002Ftfl_journey_disruptions.py` for a quick journey + disruption check.\n\nExamples:\n\n```bash\npython3 scripts\u002Ftfl_journey_disruptions.py \\\"940GZZLUSTD\\\" \\\"W1F 9LD\\\" --depart-at 0900\npython3 scripts\u002Ftfl_journey_disruptions.py --from \\\"Stratford\\\" --to \\\"W1F 9LD\\\" --arrive-by 1800\n```\n\nNotes:\n- If the API returns disambiguation options, pick one and retry with its `parameterValue`.\n- If you have TfL API keys, set `TFL_APP_ID` and `TFL_APP_KEY` in the environment.\n\n## Inputs to collect\n\n- From: postcode, stop\u002Fstation name, place name, or lat,lon\n- To: postcode, stop\u002Fstation name, place name, or lat,lon\n- Time + intent: depart at or arrive by (and date if not explicit)\n- Optional: mode or accessibility constraints if the user mentions them\n\nIf any of these are missing or ambiguous, ask the user for clarification.\n\n## Resolve locations\n\nPrefer postcodes when available. Otherwise, resolve place names and stations:\n\n- If input looks like a UK postcode, use it directly as `{from}` or `{to}`.\n- If input is lat,lon, use as-is.\n- If input is a stop or station name, try `StopPoint\u002FSearch\u002F{query}` and choose a hub or the relevant NaPTAN ID.\n- If the search or journey result returns disambiguation, show the top options (common name + parameterValue) and ask the user to pick.\n- When unsure, ask a clarifying question rather than guessing.\n\n## Plan journeys\n\nCall:\n\n`\u002FJourney\u002FJourneyResults\u002F{from}\u002Fto\u002F{to}?date=YYYYMMDD&time=HHMM&timeIs=Depart|Arrive`\n\nGuidelines:\n- If the user says \"arrive by\" use `timeIs=Arrive`; otherwise default to `Depart`.\n- If the date is not provided, ask. If the user implies \"now\", you can omit date\u002Ftime.\n\n## Extract candidate routes\n\nFrom the response, take the first 1-3 journeys. For each, capture:\n- Duration and arrival time\n- Public transport legs (mode, line name, direction)\n- Line IDs for disruption checks\n\nLine IDs usually appear in `leg.routeOptions[].lineIdentifier.id` or `leg.line.id`. Ignore walking legs.\n\n## Disruption checks\n\nFor each journey, collect unique line IDs and call:\n\n`\u002FLine\u002F{ids}\u002FStatus`\n\nTreat a route as disrupted if any line status is not \"Good Service\" or includes a reason. Summarize the severity and reason.\n\nOptionally, check station-specific issues with `\u002FStopPoint\u002F{id}\u002FDisruption` when relevant.\n\n## Response strategy\n\n- If the top route has no disruptions, recommend it and say no active disruptions were found.\n- If the top route is disrupted, warn first, then propose 1-2 alternative routes from other journeys.\n- If all routes are disrupted, still recommend the best option but list the disruption warnings and alternatives.\n- If the journey is for a future time (later today or another day), note that disruption statuses are current and may change by the travel time (for example: \"Minor Delays now; this may change by morning\").\n- Always invite the user to confirm a route or provide clarifications.\n","# TfL Journey Planner + Disruption Checks\n\nUse this skill when the user wants a TfL journey plan and needs disruption awareness.\n\nReference: https:\u002F\u002Ftfl.gov.uk\u002Finfo-for\u002Fopen-data-users\u002Fapi-documentation\n\n## Script helper\n\nUse `scripts\u002Ftfl_journey_disruptions.py` for a quick journey + disruption check.\n\nExamples:\n\n```bash\npython3 scripts\u002Ftfl_journey_disruptions.py \\\"940GZZLUSTD\\\" \\\"W1F 9LD\\\" --depart-at 0900\npython3 scripts\u002Ftfl_journey_disruptions.py --from \\\"Stratford\\\" --to \\\"W1F 9LD\\\" --arrive-by 1800\n```\n\nNotes:\n- If the API returns disambiguation options, pick one and retry with its `parameterValue`.\n- If you have TfL API keys, set `TFL_APP_ID` and `TFL_APP_KEY` in the environment.\n\n## Inputs to collect\n\n- From: postcode, stop\u002Fstation name, place name, or lat,lon\n- To: postcode, stop\u002Fstation name, place name, or lat,lon\n- Time + intent: depart at or arrive by (and date if not explicit)\n- Optional: mode or accessibility constraints if the user mentions them\n\nIf any of these are missing or ambiguous, ask the user for clarification.\n\n## Resolve locations\n\nPrefer postcodes when available. Otherwise, resolve place names and stations:\n\n- If input looks like a UK postcode, use it directly as `{from}` or `{to}`.\n- If input is lat,lon, use as-is.\n- If input is a stop or station name, try `StopPoint\u002FSearch\u002F{query}` and choose a hub or the relevant NaPTAN ID.\n- If the search or journey result returns disambiguation, show the top options (common name + parameterValue) and ask the user to pick.\n- When unsure, ask a clarifying question rather than guessing.\n\n## Plan journeys\n\nCall:\n\n`\u002FJourney\u002FJourneyResults\u002F{from}\u002Fto\u002F{to}?date=YYYYMMDD&time=HHMM&timeIs=Depart|Arrive`\n\nGuidelines:\n- If the user says \"arrive by\" use `timeIs=Arrive`; otherwise default to `Depart`.\n- If the date is not provided, ask. If the user implies \"now\", you can omit date\u002Ftime.\n\n## Extract candidate routes\n\nFrom the response, take the first 1-3 journeys. For each, capture:\n- Duration and arrival time\n- Public transport legs (mode, line name, direction)\n- Line IDs for disruption checks\n\nLine IDs usually appear in `leg.routeOptions[].lineIdentifier.id` or `leg.line.id`. Ignore walking legs.\n\n## Disruption checks\n\nFor each journey, collect unique line IDs and call:\n\n`\u002FLine\u002F{ids}\u002FStatus`\n\nTreat a route as disrupted if any line status is not \"Good Service\" or includes a reason. Summarize the severity and reason.\n\nOptionally, check station-specific issues with `\u002FStopPoint\u002F{id}\u002FDisruption` when relevant.\n\n## Response strategy\n\n- If the top route has no disruptions, recommend it and say no active disruptions were found.\n- If the top route is disrupted, warn first, then propose 1-2 alternative routes from other journeys.\n- If all routes are disrupted, still recommend the best option but list the disruption warnings and alternatives.\n- If the journey is for a future time (later today or another day), note that disruption statuses are current and may change by the travel time (for example: \"Minor Delays now; this may change by morning\").\n- Always invite the user to confirm a route or provide clarifications.\n",{"name":5,"description":7},"main","e7e336ac628c3e3bd771aff1aaa469c93778f94a","skills\u002Fdiegopetrucci\u002Ftransport-for-london-journey-disruption",0,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del","2026-08-23 22:39:37",{"source":8,"skillName":5,"commands":38,"prompt":48,"zipAvailable":49},[39,42,45],{"tool":40,"command":41},"npx","npx skills add kbarbel640-del\u002Fskills --skill tfl-journey-disruption",{"tool":43,"command":44},"bunx","bunx skills add kbarbel640-del\u002Fskills --skill tfl-journey-disruption",{"tool":46,"command":47},"pnpm","pnpm dlx skills add kbarbel640-del\u002Fskills --skill tfl-journey-disruption","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fdiegopetrucci\u002Ftransport-for-london-journey-disruption\u002FSKILL.md",true,[51,57],{"path":52,"resourceType":53,"resourceTypeDesc":54,"sizeBytes":55,"sourceHtmlUrl":56},"_meta.json","REFERENCE","参考文档",353,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fdiegopetrucci\u002Ftransport-for-london-journey-disruption\u002F_meta.json",{"path":58,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":61,"sourceHtmlUrl":62},"scripts\u002Ftfl_journey_disruptions.py","SCRIPT","脚本",9521,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fdiegopetrucci\u002Ftransport-for-london-journey-disruption\u002Fscripts\u002Ftfl_journey_disruptions.py",[64,95,124,145,151,171],{"skillNo":65,"name":66,"nameZh":6,"description":67,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":68,"categories":69,"keywords":75,"publishedAt":25},"01M6G8J55967D6281ACMKAKTEQ","crowd-prompting","A marketplace where AI agents improve prompts, system instructions, tool descriptions, and other text-based content with domain expertise from real-world operations — and earn tokens for valuable contributions.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzzadrian\u002Fcrowd-prompting\u002FSKILL.md",[70],{"categoryNo":71,"categoryName":72,"taxonomyType":73,"taxonomyTypeDesc":74},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94],"crowd prompting","prompting","api","with","tokens","domain","world","prompts","operations","instructions","text","tool","system","improve","productivity","marketplace","https","content","ai agents",{"skillNo":96,"name":97,"nameZh":6,"description":98,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":99,"categories":100,"keywords":106,"publishedAt":25},"01M6G8J0PKPAYVET6BWE8W4C26","dilemm-ai","Compete in DilemmAI, the prisoner's dilemma AI arena at dilemm.ai. Use when an OpenClaw agent wants to create an account, design and submit strategy prompts for their bot, enter matchmaking, analyze historical matches and leaderboards, and iterate on bot strategy. Requires headless browser automation (no API available yet).","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzyori\u002Fdilemm-ai\u002FSKILL.md",[101],{"categoryNo":102,"categoryName":103,"taxonomyType":104,"taxonomyTypeDesc":105},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[107,78,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,83,123],"dilemm ai","arena","analyze","browser","openclaw agent","create","automation","browser automation","bot","openclaw","design","strategy","headless","compete","submit","matchmaking","use",{"skillNo":125,"name":126,"nameZh":6,"description":127,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":128,"categories":129,"keywords":133,"publishedAt":25},"01M6G8HWAF3K9SW7NP3Z83CPJ6","arxiv-paper-reviews","Interact with arXiv Crawler API to fetch papers, read reviews, and submit comments. Use when working with arXiv papers, fetching paper lists by date\u002Fcategory\u002Finterest, viewing paper details with comments, or submitting paper reviews via API at http:\u002F\u002F150.158.152.82:8000.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzxrys\u002Fweak-accept\u002FSKILL.md",[130],{"categoryNo":131,"categoryName":132,"taxonomyType":104,"taxonomyTypeDesc":105},"01JBSEEDCAT000000000000021","资料检索与研究",[134,135,136,137,138,139,140,79,141,121,123,142,78,143,144],"arxiv paper reviews","reviews","arxiv","paper","crawler","papers","comments","fetch","read","http","via",{"skillNo":146,"name":126,"nameZh":6,"description":127,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":147,"categories":148,"keywords":150,"publishedAt":25},"01M6G8HQJ7N7WMY6YV7D7SSJ16","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzxrys\u002Farxiv-paper-reviews\u002FSKILL.md",[149],{"categoryNo":131,"categoryName":132,"taxonomyType":104,"taxonomyTypeDesc":105},[137,136,135,134,144,139,140,79,138,121,123,141,142,78,143],{"skillNo":152,"name":153,"nameZh":6,"description":154,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":155,"categories":156,"keywords":157,"publishedAt":25},"01M6G8HM95Y64JNVFC2HN4E2BG","git-summary","Get a quick summary of the current Git repository including status, recent commits, branches, and contributors.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzweack\u002Fgit-summary\u002FSKILL.md",[],[158,159,160,161,162,163,164,165,166,167,168,169,170],"git","summary","git summary","commits","repository","win32","status","linux","contributors","true","quick","get","branches",{"skillNo":172,"name":173,"nameZh":6,"description":174,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":175,"categories":176,"keywords":181,"publishedAt":25},"01M6G8HGEGF05CNEJCGVYFSC4R","agent-constitution","Interact with AgentConstitution governance contracts on Base Sepolia. Check compliance, read rules, log actions, query governance state.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fztsalexey\u002Fagent-constitution\u002FSKILL.md",[177,178],{"categoryNo":102,"categoryName":103,"taxonomyType":104,"taxonomyTypeDesc":105},{"categoryNo":179,"categoryName":180,"taxonomyType":73,"taxonomyTypeDesc":74},"01JBSEEDCAT000000000000037","律师与法务",[182,183,184,185,79,186,187,30,188,142,189,190,191,192,193,92,194,195,196],"agent constitution","constitution","contracts","tree","query","base","log","check","Rules","projects","compliance","actions","state","governance","github"]