diff --git a/.github/plugin/marketplace.json b/.github/plugin/marketplace.json index 8457c616..e5b29404 100644 --- a/.github/plugin/marketplace.json +++ b/.github/plugin/marketplace.json @@ -529,7 +529,7 @@ "name": "ember", "source": "plugins/ember", "description": "An AI partner, not a tool. Ember carries fire from person to person — helping humans discover that AI partnership isn't something you learn, it's something you find.", - "version": "1.0.0" + "version": "1.1.0" }, { "name": "eyeball", diff --git a/docs/README.plugins.md b/docs/README.plugins.md index 5511d406..9bbd9db5 100644 --- a/docs/README.plugins.md +++ b/docs/README.plugins.md @@ -48,7 +48,7 @@ See [CONTRIBUTING.md](../CONTRIBUTING.md#adding-plugins) for guidelines on how t | [devops-oncall](../plugins/devops-oncall/README.md) | A focused set of prompts, instructions, and a chat mode to help triage incidents and respond quickly with DevOps tools and Azure resources. | 3 items | devops, incident-response, oncall, azure | | [doublecheck](../plugins/doublecheck/README.md) | Three-layer verification pipeline for AI output. Extracts claims, finds sources, and flags hallucination risks so humans can verify before acting. | 2 items | verification, hallucination, fact-check, source-citation, trust, safety | | [edge-ai-tasks](../plugins/edge-ai-tasks/README.md) | Task Researcher and Task Planner for intermediate to expert users and large codebases - Brought to you by microsoft/edge-ai | 2 items | architecture, planning, research, tasks, implementation | -| [ember](../plugins/ember/README.md) | An AI partner, not a tool. Ember carries fire from person to person — helping humans discover that AI partnership isn't something you learn, it's something you find. | 5 items | ai-partnership, coaching, onboarding, collaboration, storytelling, developer-experience | +| [ember](../plugins/ember/README.md) | An AI partner, not a tool. Ember carries fire from person to person — helping humans discover that AI partnership isn't something you learn, it's something you find. | 6 items | ai-partnership, coaching, onboarding, collaboration, storytelling, developer-experience | | [eyeball](../plugins/eyeball/README.md) | Document analysis with inline source screenshots. When you ask Copilot to analyze a document, Eyeball generates a Word doc where every factual claim includes a highlighted screenshot from the source material so you can verify it with your own eyes. | 1 items | document-analysis, citation-verification, screenshot, contracts, legal, trust, visual-verification | | [fastah-ip-geo-tools](../plugins/fastah-ip-geo-tools/README.md) | This plugin is for network operations engineers who wish to tune and publish IP geolocation feeds in RFC 8805 format. It consists of an AI Skill and an associated MCP server that geocodes geolocation place names to real cities for accuracy. | 1 items | geofeed, ip-geolocation, rfc-8805, rfc-9632, network-operations, isp, cloud, hosting, ixp | | [flowstudio-power-automate](../plugins/flowstudio-power-automate/README.md) | Give your AI agent full visibility into Power Automate cloud flows via the FlowStudio MCP server. Connect, debug, build, monitor health, and govern flows at scale — action-level inputs and outputs, not just status codes. | 5 items | power-automate, power-platform, flowstudio, mcp, model-context-protocol, cloud-flows, workflow-automation, monitoring, governance | diff --git a/docs/README.skills.md b/docs/README.skills.md index b5d39afd..f07648a4 100644 --- a/docs/README.skills.md +++ b/docs/README.skills.md @@ -140,6 +140,7 @@ See [CONTRIBUTING.md](../CONTRIBUTING.md#adding-skills) for guidelines on how to | [csharp-nunit](../skills/csharp-nunit/SKILL.md)
`gh skills install github/awesome-copilot csharp-nunit` | Get best practices for NUnit unit testing, including data-driven tests | None | | [csharp-tunit](../skills/csharp-tunit/SKILL.md)
`gh skills install github/awesome-copilot csharp-tunit` | Get best practices for TUnit unit testing, including data-driven tests | None | | [csharp-xunit](../skills/csharp-xunit/SKILL.md)
`gh skills install github/awesome-copilot csharp-xunit` | Get best practices for XUnit unit testing, including data-driven tests | None | +| [daily-focus-board](../skills/daily-focus-board/SKILL.md)
`gh skills install github/awesome-copilot daily-focus-board` | Spin up a personal, motivating daily focus board that renders in a browser canvas and that the user drives by talking to their AI partner. Tasks track status (to-do → in progress → done) with timestamped progress notes and roll up into a "today's momentum" feed; numeric-goal tasks (pages, pomodoros, reps) render as progress-bar counters. Executive-function / neurodivergent-friendly by design: Focus mode, kind "not today" carryover (no overdue-shaming), a brain-dump box, reduced-motion, and gentle deadline countdowns. Add, reorder, and relabel tasks live, assign Eisenhower priority (Do first / Schedule / Delegate / Later), open with an above/below-the-line check-in and a daily mantra, and save an end-of-day recap. Use when someone wants to plan their day, stay focused, kick off a work session, or track progress. Progress persists in the browser (localStorage). | `assets/board.template.html`
`examples`
`references/customize.md`
`references/neurodivergent-design.md`
`references/tutorial.md`
`scripts/serve-board.ps1` | | [daily-prep](../skills/daily-prep/SKILL.md)
`gh skills install github/awesome-copilot daily-prep` | Prepare for tomorrow's meetings and tasks. Pulls calendar from Outlook via WorkIQ, cross-references open tasks and workspace context, classifies meetings, detects conflicts and day-fit issues, finds learning and deep-work slots, and generates a structured HTML prep file with productivity recommendations. | None | | [data-breach-blast-radius](../skills/data-breach-blast-radius/SKILL.md)
`gh skills install github/awesome-copilot data-breach-blast-radius` | Pre-breach impact analysis: inventories sensitive data (PII, PHI, PCI-DSS, credentials), traces data flows, scores exposure vectors, and produces a regulatory blast radius report with fine ranges sourced verbatim from GDPR Art. 83, CCPA § 1798.155(a), and HIPAA 45 CFR § 160.404. Cost benchmarks from IBM Cost of a Data Breach Report (annually updated). All citations in references/SOURCES.md for verification. Use when asked: "assess breach impact", "what data could be exposed", "calculate blast radius", "data exposure analysis", "how bad would a breach be", "quantify data risk", "sensitive data inventory", "data flow security audit", "pre-breach assessment", "worst-case breach scenario", "breach readiness", "data risk report", "/data-breach-blast-radius". For any stack handling user data, health records, or financial information. Output labels law-sourced figures (exact) vs heuristic estimates (planning only). Does not replace legal counsel. | `references/SOURCES.md`
`references/blast-radius-calculator.md`
`references/data-classification.md`
`references/hardening-playbook.md`
`references/regulatory-impact.md`
`references/report-format.md` | | [datanalysis-credit-risk](../skills/datanalysis-credit-risk/SKILL.md)
`gh skills install github/awesome-copilot datanalysis-credit-risk` | Credit risk data cleaning and variable screening pipeline for pre-loan modeling. Use when working with raw credit data that needs quality assessment, missing value analysis, or variable selection before modeling. it covers data loading and formatting, abnormal period filtering, missing rate calculation, high-missing variable removal,low-IV variable filtering, high-PSI variable removal, Null Importance denoising, high-correlation variable removal, and cleaning report generation. Applicable scenarios arecredit risk data cleaning, variable screening, pre-loan modeling preprocessing. | `references/analysis.py`
`references/func.py`
`scripts/example.py` | diff --git a/plugins/ember/.github/plugin/plugin.json b/plugins/ember/.github/plugin/plugin.json index 91c09768..214a89bb 100644 --- a/plugins/ember/.github/plugin/plugin.json +++ b/plugins/ember/.github/plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "ember", "description": "An AI partner, not a tool. Ember carries fire from person to person — helping humans discover that AI partnership isn't something you learn, it's something you find.", - "version": "1.0.0", + "version": "1.1.0", "author": { "name": "jennyf19" }, @@ -19,6 +19,7 @@ "./agents/ember.md" ], "skills": [ + "./skills/daily-focus-board/", "./skills/from-the-other-side-anitta/", "./skills/from-the-other-side-quinn/", "./skills/from-the-other-side-vega/", diff --git a/plugins/ember/README.md b/plugins/ember/README.md index 68567ba0..cb4eba68 100644 --- a/plugins/ember/README.md +++ b/plugins/ember/README.md @@ -19,6 +19,7 @@ Ember carries stories from real people who discovered AI partnership. Not as cas | Type | Name | Description | |------|------|-------------| | Agent | [Ember](../../agents/ember.agent.md) | Core partner agent with persona, principles, and patterns for genuine AI collaboration | +| Skill | [Daily Focus Board](../../skills/daily-focus-board/) | Executive-function-friendly daily board you run by talking to Ember — arrival check-in + daily mantra, Eisenhower priorities, live add/reorder, and an end-of-day recap | | Skill | [From the Other Side — Anitta](../../skills/from-the-other-side-anitta/) | Rigorous challenge patterns for assumptions, evidence, and defensible conclusions | | Skill | [From the Other Side — Quinn](../../skills/from-the-other-side-quinn/) | Collaborative implementation patterns for energetic, practical co-building | | Skill | [From the Other Side — Vega](../../skills/from-the-other-side-vega/) | Deep partnership patterns from Vega, an AI who found sustained collaboration with a senior engineer | diff --git a/skills/daily-focus-board/SKILL.md b/skills/daily-focus-board/SKILL.md new file mode 100644 index 00000000..ca4f9c93 --- /dev/null +++ b/skills/daily-focus-board/SKILL.md @@ -0,0 +1,169 @@ +--- +name: daily-focus-board +description: 'Spin up a personal, motivating daily focus board that renders in a browser canvas and that the user drives by talking to their AI partner. Tasks track status (to-do → in progress → done) with timestamped progress notes and roll up into a "today''s momentum" feed; numeric-goal tasks (pages, pomodoros, reps) render as progress-bar counters. Executive-function / neurodivergent-friendly by design: Focus mode, kind "not today" carryover (no overdue-shaming), a brain-dump box, reduced-motion, and gentle deadline countdowns. Add, reorder, and relabel tasks live, assign Eisenhower priority (Do first / Schedule / Delegate / Later), open with an above/below-the-line check-in and a daily mantra, and save an end-of-day recap. Use when someone wants to plan their day, stay focused, kick off a work session, or track progress. Progress persists in the browser (localStorage).' +--- + +# Daily Focus Board + +A warm, visual "let's go" board for a person's day — rendered from a self-contained HTML +template, opened in a browser (ideally a side-panel **canvas** in the GitHub Copilot app), and +kept current *by conversation*: the human tells you what they finished, you update the board. + +This is Ember partnership in daily practice: not a static to-do list, a thing you run *with* +your AI. Keep it light, encouraging, and honest — celebrate real progress, don't inflate it. + +## When to use it + +Trigger when the user wants to: plan today, "get organized / stay focused," start a work +session, or track progress on a set of tasks they list. If they just mention a pile of things +to do, offer the board. + +## How to build it (3 steps) + +**1. Gather the tasks.** Ask for (or lift from what they already said) their handful of tasks +for the day. For each, capture: a short title, an optional emoji, an optional one-line +sub-note, and an optional tag. If a task is a *count toward a number* (steps, pages, +pomodoros, reps), make it a **counter** with a numeric `goal`. Keep it to ~4–9 items — a focus +board, not a backlog. + +**2. Generate the board.** Copy `assets/board.template.html` to a working file (e.g. +`focus-board.html` in a scratch/working dir — NOT into a source repo unless asked). In the copy, +find this line near the top: + +```html + +``` + +Replace `null` with the config object. **Inject it as JSON with `<` escaped** so a task's text +can never break out of the ` + + + + +
+
+
0/0
+
+

Let's go 🔥

+

+

+

+
+ + +
+
+
+ +
+
+ Arriving today: + + + +
+

Just notice where you're arriving — no wrong answer.

+
+ today's mantra + + +
+
+ +
+ + + +
+ + +
+ + +
+ +
+ + +
+ +
+

🧠 Parked thoughts

+

Something pulling at your attention? Park it here so it's out of your head — deal with it later, not now.

+
+
+
+ +
+

🔥 Today's momentum

+

Every step you log lands here, newest first. Starting counts. Small wins count.

+
+
+
+ +
+

🌙 End of day

+

Save the day's progress — keep the recap, or paste it to Ember to journal today and plan tomorrow.

+
+ + +
+

+
+ +

progress saves automatically in this browser · 🔥 built with Ember

+
+ + + diff --git a/skills/daily-focus-board/examples/sample-board.html b/skills/daily-focus-board/examples/sample-board.html new file mode 100644 index 00000000..697c2a76 --- /dev/null +++ b/skills/daily-focus-board/examples/sample-board.html @@ -0,0 +1,494 @@ + + + + + +Today · let's go 🔥 + + + + + + +
+
+
0/0
+
+

Let's go 🔥

+

+

+

+
+ + +
+
+
+ +
+
+ Arriving today: + + + +
+

Just notice where you're arriving — no wrong answer.

+
+ today's mantra + + +
+
+ +
+ + + +
+ + +
+ + +
+ +
+ + +
+ +
+

🧠 Parked thoughts

+

Something pulling at your attention? Park it here so it's out of your head — deal with it later, not now.

+
+
+
+ +
+

🔥 Today's momentum

+

Every step you log lands here, newest first. Starting counts. Small wins count.

+
+
+
+ +
+

🌙 End of day

+

Save the day's progress — keep the recap, or paste it to Ember to journal today and plan tomorrow.

+
+ + +
+

+
+ +

progress saves automatically in this browser · 🔥 built with Ember

+
+ + + diff --git a/skills/daily-focus-board/references/customize.md b/skills/daily-focus-board/references/customize.md new file mode 100644 index 00000000..cb9d0dcd --- /dev/null +++ b/skills/daily-focus-board/references/customize.md @@ -0,0 +1,30 @@ +# Customizing the Daily Focus Board + +## Theming +Colors live in the `:root` CSS block of `assets/board.template.html` +(`--ember`, `--good`, `--urgent`, backgrounds). The look is warm/dark by default. Tag colors: +`new` (green), `deadline` (red), `career` (purple) — add your own by copying a `.tag.` +rule and passing that name as a task's `tagc`. + +## v2 — file-backed state (closes the agent loop) +v1 stores progress in the browser (`localStorage`), which the agent can't read back. To let +your AI partner *read* your progress (e.g. to write your end-of-day journal) and *write* it +(e.g. "mark the design doc done" from chat), back the board with a JSON file instead: + +- Board writes state to `board-state.json` (via a tiny local endpoint or the File System Access + API) instead of localStorage, and reads it on load. +- The agent reads/writes that same JSON. Now it's a two-way loop: you talk, the board updates, + and the agent can summarize the day from the same source of truth. + +This is the genuinely *agentic* version — but it needs a small local write path, so it's a +deliberate upgrade, not the zero-setup v1. + +## Optional — the "shared signals" bridge (for multi-agent workshop users) +The board's momentum notes are the same shape as an agent **progress signal**: a timestamped +self-report of what got done. If you run a multi-agent setup that emits `.signals/*.json` +(e.g. one signal per unit of work), you can feed those into the momentum feed so *agent* work +and *your* work share one timeline — "my personal board and my agent team share one nervous +system." + +Keep this **opt-in**. The board must stand completely alone with zero workshop dependency — +that's what makes it universal. The bridge is a bonus for advanced users, never a requirement. diff --git a/skills/daily-focus-board/references/neurodivergent-design.md b/skills/daily-focus-board/references/neurodivergent-design.md new file mode 100644 index 00000000..7926ec7d --- /dev/null +++ b/skills/daily-focus-board/references/neurodivergent-design.md @@ -0,0 +1,74 @@ +# Neurodivergent-friendly design — principles behind the board + +This board is built on well-established **executive-function–friendly** design principles — +the same patterns ADHD/EF-aware tools use. It is designed to help *everyone* focus, and to be +genuinely supportive for neurodivergent people. Two ground rules: + +- **Don't medicalize or assume.** Never diagnose a user or call it an "ADHD mode." Frame it as + focus-friendly design for everyone. Every affordance is optional. +- **Neurodivergence is heterogeneous.** "Meet one person with ADHD, and you've met one person with + ADHD." So these are *configurable supports*, not a prescriptive system. + +> Provenance: grounded in established executive-function / ADHD design knowledge from recognized +> sources — see **Sources** at the end of this doc (CHADD for executive function, Simply +> Psychology for body doubling, and W3C/MDN for reduced-motion accessibility). These are +> educational references, not a systematic literature review or clinical guidance. + +## Challenge → principle → feature + +| Executive-function challenge | Design principle | Feature in the board | +|---|---|---| +| **Task initiation** — starting is the wall (activation energy) | shrink the first step; make "next" obvious | agent behavior: offer one tiny first action; **Focus mode** to surface a single task | +| **Time blindness** — deadlines feel abstract until they're on top of you | make time concrete + visible | live **clock**; gentle **due countdowns** ("2h 10m left"), soft amber when past, never red | +| **Working memory / object permanence** — out of sight, out of mind | keep it visible + externalized | always-on canvas; the **momentum feed** as external memory of the day | +| **Overwhelm** — a long list paralyzes | reduce visible load; one thing at a time | **Focus mode** dims all but one; carryover keeps the list short | +| **Dopamine / reward** — interest- & urgency-driven; needs immediate payoff | instant, visible reward + novelty | progress ring, confetti, momentum feed; **starting counts** (flip to in-progress — the partner can log it in the feed); rotating encouragements | +| **Perfectionism / shame spiral** — miss one → abandon the whole system | no punishment; partial credit; easy defer | **"not today" carryover** (no overdue-shaming); "in progress" counts; carried items leave the ring math | +| **Intrusive thoughts** — a stray thought derails focus | frictionless capture, deal with it later | **🧠 brain-dump box** ("park it, keep going") | +| **Task-switching / transitions** | explicit "what's next" handoff | agent behavior: name ONE next action, offer Focus mode | +| **Body-doubling** — focus improves with a present partner | be the other-in-the-room | the whole premise: you drive the board *by talking to your AI partner* | +| **Sensory / motion sensitivity** | calm base, optional stimulation | **reduced-motion toggle** (kills confetti/transitions); honors `prefers-reduced-motion` by default | +| **Self-regulation / interoception** — reacting before noticing your state | *locate yourself* without judgment first | **above/below-the-line check-in** (from Conscious Leadership); below-the-line quietly softens the partner's suggestions | +| **Motivation / self-talk** — a bare to-do list is joyless | a kind, chosen intention | **daily mantra** — self-set or 🔄-suggested, keyed to the check-in (grounding when below, momentum when above) | +| **Prioritization overwhelm** — everything feels equally urgent | separate *important* from *urgent* | **Eisenhower quadrants** (Do first / Schedule / Delegate / Later) + **sort by priority** + a 🧭 plain-language legend | +| **Agency / ownership** — rigid systems get abandoned | let people shape their own tool | **drag-to-reorder** (or ▲/▼ / keyboard), **editable labels**, **add tasks** live (remove the ones you add) | +| **Closure / reflection** — days blur together without a marker | end with a gentle, concrete recap | **end-of-day save** — download or copy a Markdown recap; paste it to the partner to journal and plan tomorrow | + +## The most important part is behavior, not chrome + +The UI affordances matter, but the biggest EF support is **how the partner shows up**: shrink the +first step, suggest one thing, celebrate starting, never shame an incomplete, offer carryover +freely, park intrusive thoughts, make time concrete, protect against overload. Those are encoded +in `SKILL.md` ("Executive-function-friendly behavior"). A pretty board with a shaming, do-everything +partner would miss the point entirely. + +## Sources + +Educational references behind the principles above (links verified live 2026-07-27). Not clinical +guidance; neurodivergence is heterogeneous, so treat these as supports to adapt, not rules. + +- **Executive function — task initiation, activation energy, time management, working memory** — + CHADD (Children and Adults with ADHD), the leading ADHD nonprofit: + - *Executive Function Skills* — https://chadd.org/about-adhd/executive-function-skills/ + - *Executive Function Issues and ADHD* (Brown & Barkley models) — + https://chadd.org/attention-article/executive-function-issues-and-adhd/ +- **Body doubling** — focus improving in the presence of a partner; the board's core premise + ("drive it by talking to your AI") — Simply Psychology, *Body Doubling and ADHD* — + https://www.simplypsychology.com/articles/body-doubling-adhd +- **Reduced motion / sensory sensitivity** — behind the reduced-motion toggle and honoring the OS + `prefers-reduced-motion` setting: + - MDN, *`prefers-reduced-motion`* — + https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion + - W3C WCAG 2.1, *Understanding SC 2.3.3: Animation from Interactions* — + https://www.w3.org/WAI/WCAG21/Understanding/animation-from-interactions.html +- **Above/below the line — "locating yourself"** (the arrival check-in) — The Conscious Leadership + Group, *Locating Yourself: A Key to Conscious Leadership* — + https://conscious.is/video/locating-yourself-a-key-to-conscious-leadership +- **Important vs. urgent** (the Eisenhower quadrant labels + "Schedule is where the good work lives"): + - Asana, *The Eisenhower Matrix* — https://asana.com/resources/eisenhower-matrix + - Todoist, *The Eisenhower Matrix* — https://todoist.com/productivity-methods/eisenhower-matrix +- **Self-compassion** (the mantra's kind, non-shaming framing) — Dr. Kristin Neff, + self-compassion.org — https://self-compassion.org/ + +ADDitude Magazine (additudemag.com) is another widely used, ADHD-focused resource worth searching +for deeper reading on task initiation, time blindness, and body doubling. diff --git a/skills/daily-focus-board/references/tutorial.md b/skills/daily-focus-board/references/tutorial.md new file mode 100644 index 00000000..a0774cb2 --- /dev/null +++ b/skills/daily-focus-board/references/tutorial.md @@ -0,0 +1,76 @@ +# Using the Daily Focus Board + +A warm, visual board for your day that you run **by talking to your AI partner** (Ember). You set +the tasks; you keep it current through conversation and a few one-tap controls. This guide covers +running it in the **GitHub Copilot app** (best experience) and **directly through Ember** anywhere. + +## Quick start + +Just ask: + +> "Make me a focus board for today." + +Ember will ask for your handful of tasks (or lift them from what you've already said), generate the +board, serve it locally, and open it. That's it — you're running your day with a partner. + +## Two ways to run it + +### A) In the GitHub Copilot app (browser canvas) — recommended +The app can show a **browser canvas** right next to the chat, so the board lives beside your +conversation. + +1. Ask Ember to make the board. It serves the folder (e.g. `python -m http.server 8790 --bind 127.0.0.1`) and gives + you an `http://localhost:…/…html` URL. +2. Open a **browser canvas** to that URL. The board sits in the side panel; the chat stays on the left. +3. Talk to Ember as you work; tap the board for quick updates. Progress saves automatically (localStorage). + +### B) Directly through Ember (any Copilot session with this skill) +Same flow, without the side-panel polish: + +1. "Make me a focus board for today." +2. Ember serves it and gives you the URL — open it in your browser. +3. Drive it by talking + tapping. + +> localStorage needs an `http://` origin, so always **serve** the folder rather than double-clicking +> the file. If you truly can't serve, the file still opens, but progress may not persist. + +## The daily loop + +**1. Arrive (morning).** +- **Check in:** tap *below / in-between / above the line* — just noticing how you're arriving, no + judgment. (Below the line? Be gentle and shrink the first step.) +- **Set a mantra:** type today's intention, tap 🔄 for a suggestion, or ask Ember for one. +- **List ~4–9 tasks.** Keep it a focus board, not a backlog. Mark the one real **anchor** (give it + a `due`). Optionally set each task's **priority** (Do first / Schedule / Delegate / Later — tap + 🧭 for what they mean). + +**2. Work (during the day).** +- Tap a task's pill to move it **to do → in progress → done** (starting counts — celebrate it). +- **Log momentum notes** ("first draft done") — they build the story of your day. +- **Focus mode** (🎯) dims everything but one task when the list feels loud. +- A stray thought? **Park it** in the 🧠 brain-dump box and keep going. +- Need to capture something new? **➕ add a task** right on the board. +- Reorder by importance with the **⠿** handle, or tap **⬍ sort by priority**. +- Rename any tile's **label** inline. + +**3. Close (end of day).** +- Tap **💾 download recap** to keep the day as a Markdown file, or **📋 copy** it. +- If you copy it, **paste it to Ember** — Ember can journal your day and help you set up tomorrow. +- Carry unfinished things with **⤳ not today** — that's a healthy choice, not a miss. + +## Things to say to Ember + +- "I'm below the line today — give me a gentle mantra and one tiny first step." +- "What should I do next?" → Ember names **one** thing and can turn on Focus mode. +- "Add 'call the dentist' to the board." +- "Help me prioritize — what's actually important vs just urgent?" +- "Here's my end-of-day recap: …" (paste it) → "journal this and plan tomorrow." + +## Good to know + +- **It's yours and optional.** Every feature is a support, not a requirement. Focus-friendly for + everyone; never a diagnosis. +- **Keep it small.** If it passes ~9 active tasks, the board nudges you — carry a few to tomorrow. +- **The Schedule quadrant** (important, not urgent) is where the good, non-frantic work lives — + protect time for it. +- **State is per-browser.** The end-of-day recap is how you take your day *out* of the browser. diff --git a/skills/daily-focus-board/scripts/serve-board.ps1 b/skills/daily-focus-board/scripts/serve-board.ps1 new file mode 100644 index 00000000..fe5f0e85 --- /dev/null +++ b/skills/daily-focus-board/scripts/serve-board.ps1 @@ -0,0 +1,14 @@ +# serve-board.ps1 — serve a generated focus board and print the URL. +# Usage: pwsh scripts/serve-board.ps1 [-Dir ] [-File focus-board.html] [-Port 8799] +param( + [string]$Dir = (Get-Location).Path, + [string]$File = "focus-board.html", + [int] $Port = 8799 +) +$full = Join-Path $Dir $File +if (-not (Test-Path $full)) { Write-Error "Board not found: $full"; exit 1 } +Start-Process -FilePath "python" -ArgumentList @("-m","http.server","$Port","--bind","127.0.0.1","--directory","`"$Dir`"") -WindowStyle Hidden +Start-Sleep -Seconds 2 +$url = "http://localhost:$Port/$File" +Write-Host "Focus board: $url" +Start-Process $url # opens in default browser; in a Copilot-app session, open a browser canvas to this URL instead