[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6N1JB65VG77BVPC47PQGABF":3,"skill-same:01M6N1JB65VG77BVPC47PQGABF":79},{"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":28,"publishedAt":49,"linkOnly":50,"markdownContent":51,"markdownBody":52,"frontMatter":53,"refName":56,"commitSha":57,"skillDirectory":58,"forksCount":59,"repositoryHtmlUrl":60,"repositoryHomepageUrl":61,"ownerHtmlUrl":62,"ownerBlogUrl":63,"ownerDescription":64,"updatedAt":65,"install":66,"resources":78},"01M6N1JB65VG77BVPC47PQGABF","dashboard-broadcast-notes",null,"\u002Fdashboard-broadcast notes and troubleshooting table (port allocation, log path, detach lessons, common failure symptoms). Invoke via the command's own link; do not auto-load.","agent-kit-startup\u002Fagent-kit","agent-kit-startup","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F273612197?v=4","01M6N1G5CDEDXFAYC2ZWJFRQ5N","dadado","01M6N1G5H5C367X5124515SA2T",23,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fagent-kit-startup\u002Fagent-kit\u002Fblob\u002Fmain\u002F.cursor\u002Fskills\u002Fcore\u002Fdashboard-broadcast\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000013","分析与可视化","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48],"notes","dashboard","dashboard broadcast notes","invoke","lessons","allocation","path","load","true","port","via","link","do","log","auto","command","common","troubleshooting","table","core","2026-11-10 10:12:30",false,"---\nname: dashboard-broadcast-notes\ndescription: \u002Fdashboard-broadcast notes and troubleshooting table (port allocation, log path, detach lessons, common failure symptoms). Invoke via the command's own link; do not auto-load.\nversion: 0.1.0\ncategory: core\ndisable-model-invocation: true\n---\n\n# \u002Fdashboard-broadcast notes and troubleshooting\n\nMoved out of `.cursor\u002Fcommands\u002Fdashboard-broadcast.md` (Phase 2, `contract-read-budget-lazy-layers-2026-09-19` plan) — off-default-path detail, only needed after the happy path or on failure.\n\n## Notes\n\n- Port: `PORT` env overrides; default is the per-workspace hash allocation (range `3333-3588`), walking to the next candidate when one is held. Derive the preferred port with the snippet in the command's step 0, or read the printed `Bind:` line \u002F `system.port`. Explicit `PORT` refuses instead of walking, so a pinned port never silently moves.\n- Log default: `\u002Ftmp\u002Fmission-control-broadcast-\u003CrootId>.log` (per workspace; `MISSION_CONTROL_LOG` overrides)\n- Loopback UX remains `\u002Fdashboard` \u002F `npm run dashboard` \u002F `agent-kit dashboard`\n- Detach lessons match `\u002Fdashboard` (error `2026-07-25_dashboard-server-reaped-agent-shell`)\n\n## Troubleshooting\n\n| Symptom | Cause | Fix |\n|---|---|---|\n| Serve exits: non-loopback requires token | `HOST` set without `MISSION_CONTROL_TOKEN` | Use `dashboard:broadcast` or set a ≥16 char token |\n| Port busy \u002F token rejected | Existing instance on the allocated port | Nothing to do: the starter skips it and binds the next per-workspace candidate. Want that exact port? Kill the LISTEN pid **only** after verifying `repoRoot` is yours |\n| Explicit `PORT` refused | You pinned a `PORT` that another instance holds | Unset `PORT` (auto-pick a free per-workspace port), or free that port yourself if it is this workspace's |\n| A second broadcast appears each run | `MISSION_CONTROL_TOKEN` is regenerated per run, so the running one cannot be identified | Export a stable `MISSION_CONTROL_TOKEN` to reuse the existing broadcast |\n| Phone cannot connect | Firewall or wrong IP | Confirm printed LAN IPv4; allow inbound TCP |\n| Config save 403 from phone | Expected | Config writes are loopback-only |\n","# \u002Fdashboard-broadcast notes and troubleshooting\n\nMoved out of `.cursor\u002Fcommands\u002Fdashboard-broadcast.md` (Phase 2, `contract-read-budget-lazy-layers-2026-09-19` plan) — off-default-path detail, only needed after the happy path or on failure.\n\n## Notes\n\n- Port: `PORT` env overrides; default is the per-workspace hash allocation (range `3333-3588`), walking to the next candidate when one is held. Derive the preferred port with the snippet in the command's step 0, or read the printed `Bind:` line \u002F `system.port`. Explicit `PORT` refuses instead of walking, so a pinned port never silently moves.\n- Log default: `\u002Ftmp\u002Fmission-control-broadcast-\u003CrootId>.log` (per workspace; `MISSION_CONTROL_LOG` overrides)\n- Loopback UX remains `\u002Fdashboard` \u002F `npm run dashboard` \u002F `agent-kit dashboard`\n- Detach lessons match `\u002Fdashboard` (error `2026-07-25_dashboard-server-reaped-agent-shell`)\n\n## Troubleshooting\n\n| Symptom | Cause | Fix |\n|---|---|---|\n| Serve exits: non-loopback requires token | `HOST` set without `MISSION_CONTROL_TOKEN` | Use `dashboard:broadcast` or set a ≥16 char token |\n| Port busy \u002F token rejected | Existing instance on the allocated port | Nothing to do: the starter skips it and binds the next per-workspace candidate. Want that exact port? Kill the LISTEN pid **only** after verifying `repoRoot` is yours |\n| Explicit `PORT` refused | You pinned a `PORT` that another instance holds | Unset `PORT` (auto-pick a free per-workspace port), or free that port yourself if it is this workspace's |\n| A second broadcast appears each run | `MISSION_CONTROL_TOKEN` is regenerated per run, so the running one cannot be identified | Export a stable `MISSION_CONTROL_TOKEN` to reuse the existing broadcast |\n| Phone cannot connect | Firewall or wrong IP | Confirm printed LAN IPv4; allow inbound TCP |\n| Config save 403 from phone | Expected | Config writes are loopback-only |\n",{"name":5,"version":54,"category":48,"description":7,"disable-model-invocation":55},"0.1.0",true,"main","9f8bc81bbd3e9fb5b9c46dc59ad4a99ac8365fa5",".cursor\u002Fskills\u002Fcore\u002Fdashboard-broadcast",2,"https:\u002F\u002Fgithub.com\u002Fagent-kit-startup\u002Fagent-kit","https:\u002F\u002Fmissionkit.io\u002F","https:\u002F\u002Fgithub.com\u002Fagent-kit-startup","dadado.dev","Everyone calls me Dadado.","2026-11-11 06:31:30",{"source":8,"skillName":5,"commands":67,"prompt":77,"zipAvailable":55},[68,71,74],{"tool":69,"command":70},"npx","npx skills add agent-kit-startup\u002Fagent-kit --skill dashboard-broadcast-notes",{"tool":72,"command":73},"bunx","bunx skills add agent-kit-startup\u002Fagent-kit --skill dashboard-broadcast-notes",{"tool":75,"command":76},"pnpm","pnpm dlx skills add agent-kit-startup\u002Fagent-kit --skill dashboard-broadcast-notes","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fagent-kit-startup\u002Fagent-kit\u002Fblob\u002Fmain\u002F.cursor\u002Fskills\u002Fcore\u002Fdashboard-broadcast\u002FSKILL.md",[],[80,98,117,133,160,173],{"skillNo":81,"name":82,"nameZh":6,"description":83,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":84,"categories":85,"keywords":86,"publishedAt":49},"01M6N1Q7XF3R5BDAJ2W2VBXBNC","qa","Playbook for \u002Fqa. Verify a release or bug against CHANGELOG claims, install journey, tests, and hygiene. Invoke via \u002Fqa; do not auto-load.","https:\u002F\u002Fgithub.com\u002Fagent-kit-startup\u002Fagent-kit\u002Fblob\u002Fmain\u002Fskills\u002Fqa\u002FSKILL.md",[],[82,32,87,88,39,89,36,90,37,91,48,41,92,93,94,95,96,43,97],"bug","hygiene","verify","tests","for","install","playbook","release","changelog","claims","journey",{"skillNo":99,"name":100,"nameZh":6,"description":101,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":102,"categories":103,"keywords":104,"publishedAt":49},"01M6N1Q4F95YR6JXRSHABJR18B","plan-review-triage","Triage plan monitor findings. Select untriaged targets, summarize open residuals, and persist durable triage headings. Invoke via \u002Fplan-review-triage; do not auto-load.","https:\u002F\u002Fgithub.com\u002Fagent-kit-startup\u002Fagent-kit\u002Fblob\u002Fmain\u002Fskills\u002Fplan-review-triage\u002FSKILL.md",[],[105,106,107,108,109,110,111,36,43,112,37,113,114,48,41,39,32,115,116],"triage","plan","plan review","review","review triage","plan review triage","targets","open","monitor","select","summarize","persist",{"skillNo":118,"name":119,"nameZh":6,"description":120,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":121,"categories":122,"keywords":123,"publishedAt":49},"01M6N1Q0T6HZ1HT425V9AED20T","plan-external-review","Arm external Claude reviewer for plan audits with autonomous background PTY spawn and freshness-gated wait. Invoke via \u002Fplan-external-review; do not auto-load.","https:\u002F\u002Fgithub.com\u002Fagent-kit-startup\u002Fagent-kit\u002Fblob\u002Fmain\u002Fskills\u002Fplan-external-review\u002FSKILL.md",[],[124,108,106,125,32,37,126,127,128,39,129,130,36,43,131,132,91,48,41],"plan external review","background","wait","spawn","gated","with","reviewer","autonomous","PTY",{"skillNo":134,"name":135,"nameZh":6,"description":136,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":137,"categories":138,"keywords":145,"publishedAt":49},"01M6N1PV5VC6J8EF6VVWP95T2Y","hitl-gates","Agent Kit HITL contract, exact Ask questions labels, and numbered-list fallback as path 1. Use when running \u002Fstart-project, \u002Frun-plan, \u002Frun-plan-all, \u002Fcontinue-plan, \u002Fgit-prod, backlog CRUD, \u002Fhotfix, \u002Fqa, \u002Fplan-review-triage, install, or onboard, or when Ask questions is missing. Factory landing wraps \u002Fkit-staging and \u002Fkit-prod keep their own command-file Asks; they are not consumer default-path inventory. Invoke via the command's own link; do not auto-load.","https:\u002F\u002Fgithub.com\u002Fagent-kit-startup\u002Fagent-kit\u002Fblob\u002Fmain\u002Fskills\u002Fhitl-gates\u002FSKILL.md",[139,142],{"categoryNo":140,"categoryName":141,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":143,"categoryName":144,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000037","律师与法务",[146,147,148,149,150,43,82,151,152,153,154,155,156,157,158,32,159,44,106,108],"hitl","gates","hitl gates","hotfix","ask","kit","labels","default","inventory","project","agent kit","crud","when","run",{"skillNo":161,"name":162,"nameZh":6,"description":163,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":164,"categories":165,"keywords":169,"publishedAt":49},"01M6N1PM87KBJ2CQ74CVZ9X4VB","field-report-resolve","Resolve Field Report attention cards by checking eligibility and dismissing when answered or subject-resolved. Invoke via \u002Ffield-report-resolve; do not auto-load.","https:\u002F\u002Fgithub.com\u002Fagent-kit-startup\u002Fagent-kit\u002Fblob\u002Fmain\u002Fskills\u002Ffield-report-resolve\u002FSKILL.md",[166],{"categoryNo":167,"categoryName":168,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000034","行政与办公人员",[170,171,158,32,39,36,43,37,48,172,41],"field report resolve","report","attention",{"skillNo":174,"name":175,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":176,"categories":177,"keywords":181,"publishedAt":49},"01M6N1PGC3P3388CC5N91XVFXY","clean-code","https:\u002F\u002Fgithub.com\u002Fagent-kit-startup\u002Fagent-kit\u002Fblob\u002Fmain\u002Fskills\u002Fclean-code\u002FSKILL.md",[178],{"categoryNo":179,"categoryName":180,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000030","开发工程师",[182,183,184],"code","clean","clean code"]