📌 To-Do List¶
Last updated: 2026-05-13 — Say "add to my to-do" in any Copilot CLI session.
Last session (13 May 2026 PM): 4 added — M29 (document session-store as forensic recovery tool), M30 (self-trim script for other dev debris), M31 (growing-guardrails extend to audit-wip.ps1), C26 (blog: "how my CLI laptop went from 44GB to 12GB"). Captured during laptop cleanup + auto-purge wrap-up. See journal entry for full detail.
Last session (13 May 2026 AM): 7 closed — SC-500 auto-watcher, NT1 Agent 365 Planner post-GA, May 1 reminder (ME7 blog + Feature Matrix + E7 badge), LS1/LS2/LS3 GSC indexing, LS4 E7 badge, LS6 licensing changelog. See journal entry for full detail.
🎓 Learning Project¶
| # | Task | Priority | Status | Notes |
|---|---|---|---|---|
| L1 | Deep dive: What is MCP? How does it work? | 📌 Important | ✅ | Completed 2026-04-06 — hotel concierge analogy, USB, Microsoft MCP status |
| L2 | How to set up and configure MCP servers | 📌 Important | ✅ | Completed 2026-04-06 — building blocks, transport types, hands-on config exploration |
| L3 | How to manage MCP servers (/mcp command) |
📌 Important | ✅ | Completed 2026-04-06 — ecosystem, security, JSON-RPC internals, installed Learn Docs MCP |
| L4 | What is Git? (version control explained simply) | 📋 Normal | ⬜ | |
| L5 | What is GitHub? (Git vs GitHub) | 📋 Normal | ⬜ | After L4 |
| L6 | What is a repository? | 📋 Normal | ⬜ | After L5 |
| L7 | VS Code basics — install, open, navigate | 📋 Normal | ⬜ | |
| L8 | First hands-on: Create a repo, make a change, commit | 📋 Normal | ⬜ | After L6 + L7 |
| L9 | What is HTML? (the skeleton of a webpage) | 📋 Normal | ⬜ | |
| L10 | What is CSS? (the styling/paint of a webpage) | 📋 Normal | ⬜ | |
| L11 | Build a simple personal webpage | 📋 Normal | ⬜ | After L9 + L10 |
| L12 | Host it online (GitHub Pages) | 📋 Normal | ⬜ | After L11 |
| L13 | What is Copilot Studio? + Create a simple agent | 💤 Someday | ⬜ | Phase 2 |
| L14 | What is Azure AI Foundry? + Create a project | 💤 Someday | ⬜ | Phase 2 |
| L15 | What is OpenClaw? + Install and set up | 💤 Someday | ⬜ | Phase 3 |
| L16 | Build end-to-end customer demo scenarios | 💤 Someday | ⬜ | Phase 3 |
| L17 | VS Code: What is it + install | 📋 Normal | ⬜ | |
| L18 | VS Code: Navigation + interface walkthrough | 📋 Normal | ⬜ | After L17 |
| L19 | VS Code: Simple programming | 📋 Normal | ⬜ | After L18 |
| L20 | VS Code: Copilot Chat in VS Code | 📋 Normal | ⬜ | After L19 |
| L21 | VS Code: Big picture — how it connects with Git, GitHub, CLI | 📋 Normal | ⬜ | After L20 |
| L22 | M365 Copilot: Overview + architecture | 📌 Important | ⬜ | Sutheesh already familiar |
| L23 | M365 Copilot: Prompt Engineering | 📌 Important | ⬜ | |
| L24 | M365 Copilot: Multi-model choices | 📌 Important | ⬜ | |
| L25 | M365 Copilot: Copilot in Apps (Word, PPT, Excel, Outlook, Teams) | 📋 Normal | ⬜ | |
| L26 | M365 Copilot: Business Chat (BizChat) | 📋 Normal | ⬜ | |
| L27 | M365 Copilot: Agents + Copilot Studio integration | 📋 Normal | ⬜ | |
| L28 | M365 Copilot: Admin controls + adoption | 📌 Important | ⬜ | Relevant to job role |
| L29 | M365 Copilot: Copilot Cowork — autonomous multi-step task execution | 🔥 Urgent | ⬜ | Wave 3 (May–June 2026), powered by Claude |
| L30 | M365 Copilot: Agent 365 — enterprise agent management dashboard | 🔥 Urgent | ⬜ | Wave 3 — agent identity, compliance, monitoring |
| L31 | M365 Copilot: Entra Agent ID — identity & security for AI agents | 🔥 Urgent | ⬜ | New Entra feature — agent-level RBAC & audit |
| L32 | M365 Copilot: Anthropic as Subprocessor — data protection comparison with OpenAI | 🔥 Urgent | ⬜ | How data flows to Claude vs GPT, DPA, sovereignty |
| L33 | M365 Copilot: Copilot Critique — AI self-review for quality control | 🔥 Urgent | ⬜ | Frontier now — Claude critiques GPT outputs |
| L34 | M365 Copilot: Copilot Council — multi-model comparison ("Model Council") | 🔥 Urgent | ⬜ | Frontier now — compare responses, pick best |
| L35 | M365 Copilot: M365 E7 (Frontier Suite) — new licensing tier | 🔥 Urgent | ⬜ | $99/user/month bundles E5+Copilot+Agent 365. GA May 1 |
| L36 | M365 Copilot: April 15 licensing change — Copilot removed for unlicensed users | 🔥 Urgent | ✅ | Blog + portal updated. Soft rollout confirmed (per-tenant, 30 days after MC). |
| L37 | M365 Copilot: Work IQ — intelligence layer (moved from A365 to Copilot/E7) | 📌 Important | ⬜ | Positioning changed — know where it sits now |
| L38 | M365 Copilot: MCP in Copilot Studio — GA integration + marketplace | 📌 Important | ⬜ | Official MCP server integration path. Connects to L1-L3 |
| L39 | M365 Copilot: Agent Builder + Template Hub + Agent Launchpad — no-code agent creation | 📌 Important | ✅ | Completed 2026-04-09 — Built 11 agents exploring every capability. Full docs on learning portal under M365 Copilot > Agent Builder (CS Lite) |
| L40 | M365 Copilot: Planner Agent — chat-first task management | 📌 Important | ⬜ | Frontier now — inline task cards, at-risk insights |
| L41 | M365 Copilot: Local inferencing — on-device AI in M365 | 📋 Normal | ⬜ | Microsoft updating scope/timelines |
| L42 | M365 Copilot: MCP server security — internal guidelines + customer guidance | 📌 Important | ⬜ | "Don't front MCP on public internet" — critical for customer convos |
| L43 | M365 Copilot: Voice chat + sensitivity label inheritance — upcoming features | 📋 Normal | ⬜ | Voice input + Code Interpreter label inheritance coming |
| L44 | Internal: Agency (aka.ms/agency) — internal GitHub Copilot wrapper with MCP |
📋 Normal | ⬜ | Entra support, ADO, internal MCP servers |
| L45 | SLM: Try all 4 Ollama GUI options — Open WebUI, Chatbox, Jan, Ollama Desktop | 📌 Important | ⬜ | Compare UX, pick favourite for daily use |
| L46 | Copilot Studio: Tiny Agents series — build agents exploring Studio-specific capabilities | 📌 Important | ⬜ | Same "learn by building" pattern as L39. Focus on: workflows, API actions, Tool Groups, multi-channel, topic trees. Future session. |
| L47 | AI Foundry: Tiny Agents series — build agents exploring Azure AI Foundry capabilities | 📌 Important | ⬜ | Same pattern. Focus on: custom models, RAG pipelines, evaluation, prompt flow, deployment. Future session. |
| L46 | SLM: RAG with local model — feed documents to Phi-4 as context | 📌 Important | ⬜ | Understand RAG hands-on — key concept for customer conversations |
| L47 | SLM: MCP + Ollama — connect MCP server to local model | 📌 Important | ⬜ | Give local AI tools (search, files, APIs) — ties to L1-L3 |
| L48 | SLM: Open WebUI + web search plugin — add Google search to local chat | 📋 Normal | ⬜ | Easiest way to give local AI web access |
| L49 | SLM: Compare 3 SLMs — Phi-4-mini vs Gemma 3 vs Llama 3.2 same prompts | 📋 Normal | ⬜ | ollama pull gemma3:4b + ollama pull llama3.2:3b — great YouTube content |
| L50 | SLM: Local AI vs cloud AI comparison — document differences for blog/video | 📋 Normal | ⬜ | Same prompts on Phi-4 vs ChatGPT vs Copilot — strengths/weaknesses |
| L60 | Copilot CLI: BYOK + Local Models — connect Ollama, Azure OpenAI, Anthropic to CLI | 🔥 Urgent | ⬜ | Changelog Apr 7. Test with Ollama (offline), Azure OpenAI (BYOK), direct Anthropic. Great YouTube content! Ties to L45-L50 |
| L61 | SLM: Foundry Local — install Microsoft's on-device AI runtime, compare to Ollama | 🔥 Urgent | ⬜ | winget install Microsoft.FoundryLocal. Run Phi-4-mini, test with Copilot CLI BYOK, compare speed/quality to Ollama. Ties to L60 |
| L51 | AI Fundamentals: Write "AI Family Tree" page — AI→ML→DL→LLM→SLM | 📌 Important | ⬜ | Foundation knowledge — first page of AI Fundamentals section |
| L52 | AI Fundamentals: Tokens & context windows explained | 📌 Important | ⬜ | Why 128K vs 1M matters, "running out of context" |
| L53 | AI Fundamentals: RAG explained — how Copilot grounds answers in your data | 📌 Important | ⬜ | Critical concept for customer conversations |
| L54 | AI Vendors: Try ChatGPT Team — compare to M365 Copilot BizChat | 📋 Normal | ⬜ | Customer objection handling: "why not just use ChatGPT?" |
| L55 | AI Vendors: Try Google Gemini Advanced + NotebookLM | 📋 Normal | ⬜ | Know the #1 competitor — feature comparison |
| L56 | AI Vendors: Try Claude.ai — test Anthropic's consumer product | 📋 Normal | ⬜ | Know the subprocessor — understand Claude's strengths |
| L57 | AI Vendors: Try Perplexity Pro — AI-powered research | 📋 Normal | ⬜ | Compare to Copilot web grounding |
| L58 | AI Vendors: Browse Hugging Face — model hub, Spaces, leaderboard | 📋 Normal | ⬜ | Understand the "GitHub of AI" ecosystem |
| L59 | AI Dev Tools: Try Cursor IDE — compare to VS Code + Copilot | 💤 Someday | ⬜ | Know the competition — how AI-native IDEs differ |
| L62 | AI Dev Tools: Try Claude Code — Anthropic's terminal coding agent | 💤 Someday | ⬜ | winget install Anthropic.ClaudeCode. Compare to Copilot CLI: batch mode, extended thinking, MCP support, Oh My Zsh integration. Needs Claude Pro ($20/mo). Know the competition! |
| L63 | AI Dev Tools: GStack — Garry Tan's Claude Code skill pack (virtual dev team) | 💤 Someday | ⬜ | github.com/garrytan/gstack. 23 slash commands that turn Claude Code into CEO/Eng/QA/Ship roles. After L62. |
| L64 | AI Dev Tools: Godmode — AI OS for multi-agent automation | 💤 Someday | ⬜ | github.com/GodMode-Team/godmode. AutoGPT + BabyAGI orchestration — commands an "agent army". Explore for Agent Orchestra idea (#12). |
| L65 | AI Dev Tools: Playwright MCP — browser automation with AI | 📌 Important | ⬜ | Already cloned (R7). Set up and test — automate browser tasks from Copilot CLI. 29K+ ⭐ |
| L66 | Security: OWASP for AI — understand AI security risks and guidelines | 📌 Important | ⬜ | OWASP Top 10 for LLMs. Prompt injection, data poisoning, insecure output. Critical for customer conversations about AI security. |
| L67 | AI Dev Tools: Try Gemini CLI — Google's terminal AI agent | 💤 Someday | ⬜ | Google's answer to Copilot CLI / Claude Code. Compare features, MCP support, strengths. Know all 3 terminal AI agents for customer conversations. |
| L68 | AI Dev Tools: Google Colab MCP Server — connect AI agents to cloud notebooks | 💤 Someday | ⬜ | github.com/googlecolab/colab-mcp. Connect Copilot CLI / Claude Code / Gemini CLI to Colab for cloud code execution. Free tier enough to experiment. Best for data/ML work, not Hugo. After L62 + L67. |
🎓 Training & Enablement (Internal)¶
| # | Task | Priority | Status | Notes |
|---|---|---|---|---|
| T1 | Attend OneAsia Learning Series (April 10) — ME7 Essentials | 🔥 Urgent | ⬜ | Security, Copilot, Agent 365 |
| T2 | Complete MCAPS TechWorkshop L400 — Copilot Studio & Agents | 📌 Important | ⬜ | Already registered — do the prework |
| T3 | Complete Viva Learning: TechLab MCP Server Integration | 📌 Important | ⬜ | Hands-on internal MCP lab |
| T4 | Complete Viva Learning: Secure & Govern M365 Copilot (L200) | 📌 Important | ⬜ | On-demand |
| T5 | Explore AskMICA agent — compliant Copilot Studio building | 📋 Normal | ⬜ | Internal agent for SDL/admin consent guidance |
| T6 | Join ANZ Copilot Cowork enablement session | 📌 Important | ⬜ | Local team planning this — get involved |
🔬 Explore Repos (Cloned to C:\ssClawy)¶
| # | Task | Priority | Status | Notes |
|---|---|---|---|---|
| R1 | Explore easycopilotlab — Copilot Studio for non-devs | 📋 Normal | ⏸️ | Korean only — requested English version |
| R2 | Explore agent-academy — Copilot Studio lessons | 🔥 Urgent | ⬜ | 1,929 ⭐ — curated learning path |
| R3 | Explore hve-core — Hypervelocity Engineering | 📌 Important | ⬜ | Instructions, prompts, agents, skills |
| R4 | Explore PromptKit — Composable prompt framework | 📌 Important | ⬜ | Version-controlled prompt engineering |
| R5 | Deploy AI-in-One-Dashboard in lab | 🔥 Urgent | ✅ | Power BI AI usage analytics — see Idea 4 |
| R6 | Explore Data-and-Agent-Governance | 📌 Important | ⬜ | Purview + Defender AI governance |
| R7 | Set up playwright-mcp browser automation | 🔥 Urgent | ⬜ | 29,884 ⭐ — most popular MCP server! |
| R8 | Study work-iq MCP source code | 📋 Normal | ⬜ | Already using it — learn how it works |
| R9 | Follow mcsmcp lab — MCP + Copilot Studio | 📌 Important | ⬜ | Hands-on lab connecting MCP to Studio |
| R10 | Explore vscode-copilot-chat source | 📋 Normal | ⬜ | VS Code Copilot Chat extension |
| R11 | Explore CopilotStudioSamples | 📋 Normal | ⬜ | Official sample agents & connectors |
| R12 | Study modelcontextprotocol/servers — official MCP servers | 📌 Important | ⬜ | 82,675 ⭐ — the MCP reference collection |
| R13 | Set up modelcontextprotocol/inspector — MCP visual tester | 📌 Important | ⬜ | 9,271 ⭐ — debug & test MCP servers visually |
| R14 | Browse awesome-mcp-servers — curated MCP directory | 📋 Normal | ⬜ | 5,344 ⭐ — discover all available MCP servers |
| R15 | Follow microsoft/ai-agents-for-beginners — 12 lessons | 🔥 Urgent | ⬜ | 55,618 ⭐ — beginner AI agent course, great for content |
| R16 | Explore n8n-io/n8n — no-code AI workflow automation | 📋 Normal | ⬜ | 181,952 ⭐ — visual workflows, MCP support, no-dev friendly |
| R17 | Explore browser-use/browser-use — AI browser automation | 📋 Normal | ⬜ | 85,391 ⭐ — Python-based browser control for AI agents |
| R18 | Build an MCP widget — UI that renders in Copilot Chat | 🔥 Urgent | ⬜ | Uses ui-widget-developer skill, cutting-edge |
| R19 | Build a declarative agent for M365 Copilot with ATK | 📌 Important | ⬜ | Uses declarative-agent-developer skill |
| R20 | YouTube SEO audit — bulk optimise titles, tags, descriptions | 📌 Important | ⬜ | YouTube MCP has full read/write access |
| R21 | YouTube analytics deep dive — traffic, demographics, topic suggestions | 📌 Important | ⬜ | Use YouTube MCP analytics tools |
| R22 | Lab tenant security posture review | 📌 Important | ⬜ | Conditional access, security defaults, roles — demo prep |
| R23 | Build a Copilot Studio agent in the lab tenant | 📌 Important | ⬜ | Hands-on for customer demos |
| R24 | AI Foundry project — deploy a model in Azure | 📌 Important | ⬜ | Get hands-on before demoing |
| R25 | Try Excalidraw diagrams — architecture visuals for blog/videos | 📋 Normal | ⬜ | excalidraw skill available |
| R26 | Try WorkIQ skills — channel-audit, email-analytics, meeting-cost, org-chart | 📋 Normal | ⬜ | Workplace intelligence tools |
| R27 | Explore SharePoint with site-explorer skill | 📋 Normal | ⬜ | Browse SP sites from CLI |
🎓 Guided Platform (aguidetocloud.com/guided/)¶
Repo:
C:\ssClawy\guided(private,susanthgit/guided) Live:aguidetocloud.com/guided/(password-gated pre-launch) Docs:learning-docs/docs/playground/project-spark-certpath.md+guided-course-playbook.md
AB-900: Copilot & Agent Admin Fundamentals¶
| # | Task | Priority | Status | Notes |
|---|---|---|---|---|
| G1 | AB-900 study guide — 28 modules across 3 domains | 🔥 Urgent | ✅ | Completed 2026-04-20. All live. |
| G2 | AB-900 practice questions — 200 original questions | 🔥 Urgent | 🔄 | Starter prompt created. Parallel session. |
| G3 | AB-900 quiz component (React) — study + exam modes | 📌 Important | ⬜ | JSON question data being written |
| G4 | AB-900 quality review (6-pass automated) | 📌 Important | ✅ | Completed 2026-04-20. 12 files fixed. Key: Azure AD→Entra, DALL-E 3 naming, impossible travel→Entra ID Protection, PIM licensing prereq, pay-as-you-go budget caveat, quiz improvements. |
| G4a | AB-900 SME review — Sutheesh reads all 28 modules | 📌 Important | ⬜ | Quality review done (G4). Sutheesh human read-through still recommended for tone/voice. |
AI-901: Azure AI Fundamentals¶
| # | Task | Priority | Status | Notes |
|---|---|---|---|---|
| G5 | AI-901 study guide — 26 modules across 2 domains | 🔥 Urgent | ✅ | Completed 2026-04-20. All 26 modules live. Characters: MediSpark, Priya, DataFlow Corp, GreenLeaf. |
| G6 | AI-901 practice questions — 200 original questions | 🔥 Urgent | ✅ | Completed 2026-04-20. 200 questions: 85 D1 + 115 D2. JSON valid, all whyWrong present. |
| G7 | AI-901 quality review (7-pass automated + practice Qs) | 📌 Important | ✅ | Completed 2026-04-20. 17 files fixed. Critical: DALL-E 3 retired Mar 2026→GPT-image-1.5, face emotion retired, Content Understanding models→analyzers, content filter categories split. 200 practice questions validated. |
| G7a | AI-901 SME review — Sutheesh reads all 26 modules | 📌 Important | ⬜ | Quality review done (G7). Sutheesh human read-through still recommended, esp. Foundry + Content Understanding. |
Future Certs (prioritised by opportunity)¶
| # | Task | Priority | Status | Notes |
|---|---|---|---|---|
| G8 | AI-103 — AI App & Agent Developer (replaces AI-102) | 📌 Important | ✅ | Completed. 27 modules + quiz data. |
| G9 | 🔴 AI-200 — Azure AI Cloud Developer (replaces AZ-204) | 🔥 TOP PRIORITY | ⏳ BLOCKED | Study guide 404 as of Apr 21. Beta expected April 2026 — OVERDUE. Check every session. URL: learn.microsoft.com/.../study-guides/ai-200. Starter prompt ready. Build IMMEDIATELY when published — early mover advantage. |
| G9a | AI-200 practice questions | 🔥 TOP PRIORITY | ⏳ BLOCKED | BLOCKED on G9. Starter prompt ready. |
| G10 | 🔴 SC-500 — Cloud & AI Security Engineer (replaces AZ-500) | 🔥 TOP PRIORITY | ⏳ BLOCKED | 🚨 Beta confirmed by MS Partner Center 6 May 2026 ("available in May 2026"); third-party trackers point to 15 May 2026. GA + training July 2026. Microsoft URLs still 404 as of 13 May 2026. Auto-watcher set (every 12h) — will alert the moment study guide / exam / cert page goes live. URL: learn.microsoft.com/.../study-guides/sc-500. Starter prompt ready at ~/.copilot/session-state/a49eb4bc-c806-48f9-b9aa-cdb6ee24ae80/files/Microsoft-toBuild/sc500-course-starter-prompt.md. Cert-tracker page already live (exam_status: beta). Build IMMEDIATELY when published. |
| G10a | SC-500 practice questions | 🔥 TOP PRIORITY | ⏳ BLOCKED | BLOCKED on G10. Starter prompt ready at same folder, sc500-quiz-starter-prompt.md. |
| G11 | AZ-900 — Azure Fundamentals (evergreen) | 📋 Normal | ✅ | Completed. 26 modules + quiz data. |
| G11a | 🔴 AZ-900 quality + quiz refresh | 📌 Important | ⬜ | Highest-volume cert — deserves the best content. Run full 6-pass quality review (quality-review-prompt.md). Polish quiz questions: verify facts, improve "why wrong", check for outdated terminology, ensure difficulty mix is correct. This is the cert most people will try first. |
| G12 | AZ-104 — Azure Administrator (refreshed Apr 17, 2026) | 📋 Normal | ✅ | Completed. 27 modules + quiz data. |
| G13 | AZ-802 — Windows Server Hybrid Admin (replaces AZ-800/801) | 💤 Someday | ⬜ | Beta Jun 2026. Infrastructure niche. |
Platform Features¶
| # | Task | Priority | Status | Notes |
|---|---|---|---|---|
| G14 | Design polish — typography, spacing, visual refinement | 📌 Important | ⬜ | Design brief exists |
| G15 | Module listing pages — browse all modules per domain | 📌 Important | ⬜ | |
| G16 | In-module Table of Contents (auto from h2 headings) | 📋 Normal | ⬜ | |
| G17 | Show completion % on path page from localStorage | 📋 Normal | ⬜ | |
| G18 | Client-side search across all modules | 📋 Normal | ⬜ | Pagefind or Fuse.js |
| G19 | Lemon Squeezy payment integration | 📌 Important | ⬜ | For launch — free/paid gating |
| G20 | OG images per module (auto-generated) | 📋 Normal | ⬜ | |
| G21 | Video recordings — 1 per module, 8-12 min | 💤 Someday | ⬜ | After content review |
| G22 | Cloudflare Workers routing cleanup — remove redundant Worker | 📋 Normal | ⬜ | Pages Function handles it, Worker is backup |
| G23 | Remove password gate + noindex at launch | 📌 Important | ⬜ | When ready to go public |
🛠️ Free Tools Quality (AI News × Prompt Library × M365 Roadmap)¶
Source: Cross-analysis audit 2026-04-10. Full report in Copilot CLI session artifacts. Progress: ✅ ALL 38 tasks complete (9 batches, 2 sessions). Deployed 2026-04-11.
P0 — Fix Now (Bugs / Embarrassing Gaps) — ✅ ALL COMPLETE¶
| # | Task | Tool | Priority | Status | Notes |
|---|---|---|---|---|---|
| FT1 | Fix Roadmap default filter mismatch | 🗺️ Roadmap | 🔥 Urgent | ✅ | Now defaults to "All Products" matching UI |
| FT2 | Add AI News data cache rules | 📰 AI News | 🔥 Urgent | ✅ | /data/ainews/* max-age=1800 |
| FT3 | Add RSS feed to AI News | 📰 AI News | 🔥 Urgent | ✅ | Feed existed but wasn't linked — added <link> + footer link |
| FT4 | Merge Prompts JS files | 📝 Prompts | 🔥 Urgent | ✅ | Deleted prompts.js (275 lines dead code), both pages use prompts-v2.js |
| FT5 | Fix "Active Only" label in Roadmap | 🗺️ Roadmap | 🔥 Urgent | ✅ | Now excludes Cancelled too, renamed to "In Progress" |
P1 — High Impact Improvements — ✅ ALL COMPLETE¶
| # | Task | Tool | Priority | Status | Notes |
|---|---|---|---|---|---|
| FT6 | URL-shareable filter state for AI News | 📰 AI News | 📌 Important | ✅ | ?cat=Microsoft&q=copilot — shareable/bookmarkable |
| FT7 | URL-shareable filter state for Prompts | 📝 Prompts | 📌 Important | ✅ | ?platform=chatgpt&category=email |
| FT8 | Extract AI News CSS into ainews.css |
📰 AI News | 📌 Important | ✅ | ~730 lines extracted, page-specific loading |
| FT9 | Extract Roadmap CSS into roadmap.css |
🗺️ Roadmap | 📌 Important | ✅ | ~190 lines extracted |
| FT10 | Shared --tool-accent CSS variable system |
🌐 All | 📌 Important | ✅ | Cyan / Violet / Gold tokens per tool |
| FT11 | Build shared-tools.css |
🌐 All | 📌 Important | ⏸️ | Deferred — extract first, share later. Tokens done (FT10) |
| FT12 | "Clear all filters" button | 🌐 All | 📌 Important | ✅ | All three tools have clear button |
| FT13 | Result count "Showing X of Y" | 🌐 All | 📌 Important | ✅ | All three tools show count |
| FT14 | Fix og:type |
🌐 All | 📌 Important | ✅ | website for lists, article for singles |
| FT15 | Active nav state | 🌐 All | 📌 Important | ✅ | aria-current="page" + visual highlight |
| FT16 | Dead code cleanup — AI News | 📰 AI News | 📌 Important | ✅ | Removed 30+ lines (renderQuickLink, countCategories, renderTrendingBar) |
| FT17 | Dead code cleanup — Roadmap | 🗺️ Roadmap | 📌 Important | ✅ | Removed renderStatusBar (14 lines) |
| FT18 | Fix Prompts duplicate CSS | 📝 Prompts | 📌 Important | ✅ | Removed duplicates, added missing @keyframes highlightPulse |
| FT19 | Debounced search — AI News | 📰 AI News | 📌 Important | ✅ | 200ms debounce (was firing every keystroke) |
| FT20 | Skeleton loading — Prompts | 📝 Prompts | 📌 Important | ✅ | Not needed — SSR/Hugo-rendered, loads instantly |
| FT21 | Fix skeleton count — AI News | 📰 AI News | 📌 Important | ✅ | Template + JS both show 6 now |
| FT22 | Breadcrumbs — Roadmap categories | 🗺️ Roadmap | 📌 Important | ✅ | Home › M365 Roadmap › Category |
P2 — Accessibility — ✅ ALL COMPLETE¶
| # | Task | Tool | Priority | Status | Notes |
|---|---|---|---|---|---|
| FT23 | ARIA roles — AI News tabs/chips | 📰 AI News | 📌 Important | ✅ | role=tablist, aria-selected, aria-pressed |
| FT24 | Keyboard handler — Prompts accordion | 📝 Prompts | 📌 Important | ✅ | Enter/Space to toggle (was click-only) |
| FT25 | aria-pressed + focus-visible |
🌐 All | 📌 Important | ✅ | All three tools have focus-visible outlines |
| FT26 | Prompts back-to-top — proper CSS | 📝 Prompts | 📌 Important | ✅ | Replaced inline styles with .prompts-btt class |
P3 — Nice to Have (Future Polish)¶
| # | Task | Tool | Priority | Status | Notes |
|---|---|---|---|---|---|
| FT27 | "NEW" freshness badges on Prompts | 📝 Prompts | 📋 Normal | ✅ | Shows for items added within 14 days |
| FT28 | Category colors for Prompts | 📝 Prompts | 📋 Normal | ✅ | 11 category-specific heading colors |
| FT29 | Product colors for Roadmap | 🗺️ Roadmap | 📋 Normal | ✅ | Left-border color per product |
| FT30 | Click analytics — Prompts + Roadmap | 📝🗺️ Both | 📋 Normal | ✅ | Clarity events for copy + CSV export |
| FT31 | CSV export — AI News | 📰 AI News | 📋 Normal | ✅ | Download filtered articles |
| FT32 | Related items — Roadmap | 🗺️ Roadmap | 📋 Normal | ✅ | Replaced by favourites feature (FT39) |
| FT33 | Free Tools landing page | 🌐 All | 📋 Normal | ✅ | /free-tools/ with 3 tool cards |
| FT34 | Content hash cache busting | 🌐 All | 📋 Normal | ✅ | cache_version param replaces now.Unix |
| FT35 | Error states with retry | 🌐 All | 📋 Normal | ✅ | Retry buttons on AI News + Roadmap |
| FT36 | Platform info on Prompts mobile | 📝 Prompts | 📋 Normal | ✅ | Compact badges instead of hidden |
| FT37 | ItemList schema — AI News |
📰 AI News | 📋 Normal | ✅ | CollectionPage + BreadcrumbList JSON-LD |
| FT38 | SSR hybrid — AI News + Roadmap | 📰🗺️ Both | 💤 Someday | ⏸️ | Deferred — major refactor, Prompts already SSR |
| FT39 | Favourites — Roadmap | 🗺️ Roadmap | 💤 Someday | ✅ | Star items to track (localStorage) |
| FT40 | What's New changelog | 🌐 All | 💤 Someday | ⏸️ | Deferred — needs changelog data structure |
| FT41 | Fix CSP unsafe-inline |
📰 AI News | 💤 Someday | ⏸️ | Deferred — Azure SWA nonce limitation |
| FT42 | Move category config to data | 📰 AI News | 📋 Normal | ✅ | data/ainews_categories.toml + Hugo injection |
| FT43 | Fix Roadmap datePublished | 🗺️ Roadmap | 📋 Normal | ✅ | Uses Hugo .Date now |
| FT44 | Guard Prompts localStorage | 📝 Prompts | 📋 Normal | ✅ | Resolved — was in deleted prompts.js |
| FT45 | Fix Prompts empty state | 📝 Prompts | 📋 Normal | ✅ | Context-aware message |
🔧 Maintenance & Infrastructure¶
| # | Task | Priority | Status | Notes |
|---|---|---|---|---|
| M1 | Migrate DNS from Squarespace to Cloudflare | 📋 Normal | ✅ | CDN, CNAME flattening, DDoS protection — done in earlier session |
| M19 | Fix missing DNS records for learn. and preview. subdomains | 📌 Important | ✅ | CNAME records missing from Cloudflare — ERR_NAME_NOT_RESOLVED |
| M2 | Set up GitHub Actions auto-deploy for aguidetocloud.com | 📌 Important | ✅ | Edit content on GitHub → auto-build & deploy |
| M3 | Set up YouTube auto-scan for new videos | 📋 Normal | ✅ | GitHub Actions + YouTube Data API to auto-add new videos |
| M4 | Fix OpenGraph metadata (og:title + og:description) | 📋 Normal | ✅ | Optimised for social sharing — validated at opengraph.xyz |
| M5 | Add Microsoft Clarity analytics | 📋 Normal | ✅ | Heatmaps + session recordings — project ID w44u6ylgj1 |
| M6 | Add security headers to Azure SWA | 🔥 Urgent | ✅ | X-Frame-Options, HSTS, nosniff, Referrer-Policy, Permissions-Policy |
| M7 | Fix external links missing rel="noopener" | 📌 Important | ✅ | 11 links across nav, footer, welcome-strip, index |
| M8 | Fix broken MS-500 & SC-900 redirects | 📌 Important | ✅ | Truncated slugs in staticwebapp.config.json (4 routes) |
| M9 | Convert images to WebP format | 📋 Normal | ✅ | 220KB → 37KB (83% smaller) |
| M10 | Lazy-load YouTube iframes on video pages | 📋 Normal | ✅ | Added loading="lazy" to iframe |
| M11 | Fix low-contrast muted text for accessibility | 📋 Normal | ✅ | #6a6a8a → #8a8aaa (WCAG AA compliant) |
| M12 | Add RSS discovery link in HTML head | 📋 Normal | ✅ | Browsers/readers can now auto-discover feed |
| M13 | Improve structured data (JSON-LD) | 📋 Normal | ✅ | Added Organization + BreadcrumbList schema |
| M14 | Add site search feature | 💤 Someday | ✅ | Client-side JSON search + Ctrl+K shortcut |
| M15 | Self-host Google Fonts | 💤 Someday | ✅ | Inter, Montserrat, Fira Code — no Google CDN dependency |
| M16 | Add apple-touch-icon for iOS bookmarks | 💤 Someday | ✅ | 180x180 PNG with site branding |
| M17 | Clean up unused theme switcher code | 💤 Someday | ✅ | Removed dead JS + stopped loading themes.css (-6.4KB) |
| M18 | Add skip-to-content accessibility link | 💤 Someday | ✅ | Hidden link appears on Tab key for keyboard users |
| M20 | Register Google Search Console | 📌 Important | ✅ | Already verified + sitemap submitted (179 pages). Resubmit sitemap to pick up 67 new blog posts. Old URLs will drop off naturally via 301 redirects. |
| M21 | Register Bing Webmaster Tools | 📋 Normal | ✅ | Imported from GSC. Resubmit sitemap when indexing settles. |
| M22 | Set up UptimeRobot monitoring | 📋 Normal | ✅ | Signed up. Free 5-min uptime checks active. |
| M23 | Set up Copilot CLI on Windows 365 — mirror environment for long-running tasks | 🔥 Urgent | ✅ | Deployed 2026-04-20. Used Scoop (no admin rights needed). Installed: Node.js 24, Git 2.53, gh 2.90, Hugo Extended 0.160, Python 3.14. Configs + secrets + MCP servers copied via OneDrive Personal sync. Setup script updated at C:\ssClawy\w365-setup\. Next: M24 (OneDrive symlink sync for live brain sync). |
| M24 | Roaming Copilot: OneDrive Personal sync — bidirectional sync of brain files between all devices via OneDrive Personal | 🔥 Urgent | ✅ | Deployed 2026-04-20. sync-brain.ps1 lives in OneDrive\CopilotCLI_Sync\ (personal). Auto-detects OS (Windows/Mac/Linux). Each device adds one line to PS profile: . "$env:USERPROFILE\OneDrive\CopilotCLI_Sync\sync-brain.ps1". Corp profile syncs the one-liner to W365 automatically. Secrets stay local-only (more secure). |
| M25 | Roaming Copilot: Mac setup — mirror Copilot CLI on personal Mac | 📌 Important | ⬜ | Preferred: use personal susanthgit account — avoids enterprise policy/CA blocks. 95% identical (same brain/memory/tools via OneDrive sync). Only loses: WorkIQ, ATK skills. Keeps: all MCP servers, YouTube, pipelines, site building. Check if Opus 4.6 is on Copilot Individual. Homebrew install: node, git, gh, hugo, python, az CLI. OneDrive Personal for symlink sync. |
| M26 | Roaming Copilot: validate enterprise licence on non-corp device — confirm Copilot CLI works with EMU account on personal Mac/iPad→W365 | 📌 Important | ⬜ | Test gh auth login with ssutheesh_microsoft on Mac. If blocked: (a) try personal susanthgit with Copilot Individual, (b) try BYOK local model (Ollama), (c) try BYOK Anthropic API. Document what works. |
| M27 | Transfer domain to Cloudflare Registrar + long-term renewal — move aguidetocloud.com from current registrar to Cloudflare Registrar. Set auto-renew ON. Buy max renewal (10 years). Cloudflare charges at-cost (no markup). This is the #1 bus-factor risk — if domain expires, entire site goes offline. | 🔥 Urgent | ⬜ | Steps: Cloudflare dashboard → Domain Registration → Transfer. Unlock domain at current registrar, get auth code, initiate transfer. Cloudflare charges ~$10/yr at cost. Max renewal: 10 years ($100). Also add a trusted contact as Cloudflare team member (free) for resilience. |
| M28 | Add trusted collaborator to GitHub + Cloudflare — resilience against bus factor. Add one trusted person as GitHub collaborator (push access) and Cloudflare team member (admin). | 📌 Important | ⬜ | GitHub: repo Settings → Collaborators. Cloudflare: Account → Members. Free on both. Ensures site can be maintained if primary owner is unavailable. |
| M29 | Document session-store as forensic recovery tool — add 1-paragraph "if a file goes missing, search session_store FTS5 first" guidance to copilot-instructions.md § Session Start Checklist |
📋 Normal | ⬜ | Pattern proven 13 May 2026: MBIE customer-research-private rescue. FTS5 query on session_files + turns surfaced original file location + git commit that purged them → recovered via git show <commit>^:path. Keeps the trick discoverable to future-you. |
| M30 | Self-trim script for other accumulating dev debris — extend the 13 May 2026 auto-purge pattern (~/.copilot/scripts/purge-logs.ps1 + Windows Scheduled Task) to other accumulating dirs |
💤 Someday | ⬜ | Candidates: Playwright video/screenshot dirs across repos, Hugo public/ cache, npm/pnpm/yarn caches, Astro .astro/cache, Vite caches. Same template: 30-line PS script + daily Scheduled Task at 04:00 with Interactive logon (no admin). Could land as ~/.copilot/scripts/purge-dev-debris.ps1. Est: another ~1-2 GB/month self-managed. |
| M31 | Growing-guardrails rule extends to audit-wip.ps1 — formalise that every false-positive or false-negative caught in the WIP audit becomes a new check + inline comment in the script. Mirrors the Guided QA + Cosmos QA "tests only grow, never shrink" rule. |
📋 Normal | ⬜ | Today's precedent (13 May 2026): silent dirty-tree miss (--no-color flag invalid, hidden under 2>$null) + multi-remote false-positive on easycopilotlab/english-translation (origin-only check missed fork/ remote). Both fixed with inline comments explaining the bug. Add the precedent to copilot-instructions.md § Permanent guardrails so future-me extends instead of rewrites. |
☕ Ko-fi Shop Optimisation¶
| # | Task | Priority | Status | Notes |
|---|---|---|---|---|
| K1 | V3 branded thumbnails for all 35 items | 📌 Important | ✅ | 1200×1200 JPEG, frosted glass + SVG patterns, alternating colour shades per category |
| K2 | Optimised titles for all 35 items | 📌 Important | ✅ | Consistent format: "EXAM-CODE Type — Description" |
| K3 | Rich descriptions with cross-links | 📌 Important | ✅ | Every description links to aguidetocloud.com/links/, /ai-news/, /cert-tracker/, YouTube |
| K4 | Product summaries for all 35 items | 📌 Important | ✅ | One-liner per item describing what buyer gets |
| K5 | Post-purchase thank you message | 📌 Important | ✅ | Warm message + feedback funnel to /feedback/ + cross-links to free resources |
| K6 | Update Ko-fi profile page (bio, avatar, cover) | 📋 Normal | ⬜ | Match V3 branding — use site logo + near-black cover |
| K7 | Pin top 3 best sellers to shop top | 📋 Normal | ⬜ | AZ-304 (461), AZ-303 (340), AZ-700 (148) — social proof |
| K8 | Create exam bundle products | 💤 Someday | ⬜ | "Azure Admin Complete Pack" (AZ-104 Q&A + Course + Bootcamp) at $10 |
| K9 | Mark retired exams in titles | 📋 Normal | ⬜ | AZ-303, AZ-304 → add "(Retired — still great for learning)" |
| K10 | Update membership tier description | 💤 Someday | ⬜ | Add cross-links to free tools + site resources |
| K11 | Add UTM params to feedback link | 💤 Someday | ⬜ | ?utm_source=kofi to track Ko-fi referrals in GA4 |
| K12 | Ko-fi ↔ Guided funnel PDFs | 🔥 Urgent | ⬜ | For each Guided cert: generate a $5 PDF with 100 Q&A (answers only, no explanations). Branded header/footer + CTA page: "Want explanations, exam sim, spaced repetition, flashcards? → aguidetocloud.com/guided/". Question bank has ~250 per cert — PDF gets 100, Guided gets all 250 with full explanations + interactive features. Script: pull 100 questions from Guided JSON → render to PDF (Q + correct answer, no explanation/whyWrong/hint) → add Guided promo page. Upload to Ko-fi shop per cert. |
| K13 | 3-step funnel: YouTube → Ko-fi → Guided | 📌 Important | ⬜ | Proven model: (1) YouTube video with 50-100 Q&A + full explanations → drives Ko-fi PDF sales. (2) Ko-fi PDF ($5) = 100 Q&A answers only → add Guided CTA in PDF and video description. (3) Guided ($9) = 250 questions + explanations + exam sim + flashcards + spaced repetition. Position Guided in both YouTube video description AND Ko-fi PDF. Price review after year 1 if traffic justifies. |
🎬 Content (YouTube / Blog)¶
| # | Task | Priority | Status | Notes |
|---|---|---|---|---|
| C1 | GitHub Copilot CLI video — beginner walkthrough | 📌 Important | ⬜ | Full setup to first use |
| C2 | Student/viewer setup guide for GitHub Copilot CLI | 📌 Important | ⬜ | Step-by-step written guide for viewers to follow along |
| C3 | MCP Servers explainer video | 📋 Normal | ⬜ | After completing L1-L3 |
| C4 | Playwright MCP video — browser automation with AI | 📌 Important | ⬜ | Record while doing R7 setup |
| C5 | Monthly email newsletter for aguidetocloud.com | 📋 Normal | ⬜ | Monthly digest of best AI news, new videos, guides. Consider Buttondown (free, API-friendly). Could auto-generate from AI News data + YouTube uploads. |
| C6 | Blog post: Purview DLP + backup migration story | 📌 Important | ⬜ | Real-world story from today — teaches Purview DLP concepts |
| C7 | Blog post: "My Copilot CLI Setup" — full environment walkthrough | 📌 Important | ⬜ | Popular format, drives traffic, showcases the tool |
| C8 | AI News enhancements — trending chart, weekly digest | 📋 Normal | ⬜ | Visual improvements + email digest prototype. See also FT section for quality fixes |
| C9 | Google Search Console review — check indexing for 67 blog posts | 📌 Important | ⬜ | See which posts get impressions, fix any issues |
| C10 | Video: Foundry Local vs Ollama — side-by-side comparison | 🔥 Urgent | ⬜ | Same prompts on both, speed test, NPU demo on Snapdragon. Hot topic — Microsoft's Ollama competitor! |
| C11 | Video: Copilot CLI BYOK — run Copilot CLI with your own models | 🔥 Urgent | ⬜ | Demo Ollama + Foundry Local + Azure OpenAI with Copilot CLI. Ties to C10. Changelog: Apr 7 |
| C12 | Video: Agent Builder Helper — standalone video showing how to use an agent that helps build agents | 📌 Important | ⬜ | Demo the "Agent Design Assistant" agent. Show the full flow: discovery questions → spec generation → building in Agent Builder. Great customer enablement content. |
| C13 | Video series: 10 Tiny Agents in 10 Minutes — showcase each Agent Builder demo agent | 📌 Important | ⬜ | One video per agent (A01-A10), each under 5 min. Shows different capabilities. Could be a YouTube playlist + blog series. |
| C14 | Video: Pimp Your Terminal — customise Windows Terminal & macOS Terminal with themes, backgrounds, profiles | 📌 Important | ⬜ | Background images, acrylic blur, colour schemes, custom profiles, branded setups. Cover both Windows Terminal + macOS (iTerm2/Warp). Great visual content — thumbnails write themselves! |
| C15 | Video: Copilot CLI vs Claude Code — head-to-head terminal AI battle | 📋 Normal | ⬜ | Same coding tasks on both. Compare: speed, quality, MCP support, batch mode, plan mode, GitHub integration. After L62. |
| C16 | Video: Copilot Chat April 15 Changes — what admins need to know | 🔥 Urgent | ⬜ | RESCAN on Apr 15 first, then record. Cover: 2K threshold, WXP agents stay, Claude dependency, Basic vs Premium. Blog post already published. Learning portal page complete (L36). |
| C17 | Blog: M365 Admin Role Mapper — which role can do what? Visual guide | 📌 Important | ⬜ | Interactive-style blog post. Cover: AI Administrator (new!), least-privilege mapping, "click a task → see which roles". Source: Microsoft Learn admin role docs + WorkIQ RBAC pain points |
| C18 | Blog: Copilot Meeting Eligibility Guide — "Will Copilot work in my meeting?" | 📌 Important | ⬜ | Decision tree/flowchart blog. Cover: meeting ownership, external attendees, licence requirements, why recap works sometimes. WorkIQ confirmed this is the #1 Copilot support question |
| C19 | Blog: M365 Security Baseline Checklist — free tools to audit your tenant | 📌 Important | ⬜ | Reference existing PowerShell tools: ScubaGear (CISA), Maester (280+ tests), TenantBaseline, M365 Assess. Compare them in a table. Don't build a tool — curate the landscape |
| C20 | Blog: Agent Governance Checklist — controlling Copilot agent sprawl | 📌 Important | ⬜ | Cover: DLP for agents, approval workflows, connector restrictions, Entra Agent ID, AI Administrator role, data boundaries. WorkIQ confirmed agent sprawl is emerging concern |
| C21 | Blog: Agent Builder vs Copilot Studio vs Azure AI Foundry — complete comparison guide | 📌 Important | ✅ | Written + deployed 2026-04-18. OG image auto-generated by CI. |
| C23 | YouTube CTR Review — check 20 rewritten video titles (Apr 18) after 2 weeks | 📌 Important | ⬜ | Check by May 2. Compare CTR in CC YouTube tab. Watch AZ-900 (117K) + AZ-104 (99K) closely — revert if dipped. Old titles saved in Copilot session store. |
| C22 | CS Studio Companion: Add Foundry comparison to Decide tab — enhance Decide tab with deeper Azure AI Foundry comparison rows, "When to escalate to Foundry" decision triggers, and cost model differences | 📌 Important | ⬜ | Pass to CS Studio Companion build session. See paste text in session journal. |
| C24 | Blog: "Which AI Model Powers Your M365 Copilot?" — deep dive blog using Copilot Model Map as the visual | 🔥 Urgent | ⬜ | Traffic magnet. The tool IS the hero image. Cover: multi-model orchestration, Critique/Council modes, admin controls, Cowork=Claude, Researcher=GPT+Claude. Embed tool link. SEO target: "copilot ai model" "which model powers copilot". |
| C25 | Video: Copilot Model Map walkthrough — 5-min YouTube Bites demo | 📌 Important | ⬜ | Show the visual map, click through features, explain primary vs secondary, Studio Picker quiz, admin guide. Pairs with C24 blog. |
| C26 | Blog: "How my Copilot CLI laptop went from 44 GB to 12 GB in an afternoon" — generalisable story for any heavy Copilot CLI user | 📋 Normal | ⬜ | Maps to "for people like us" voice. Every Copilot CLI user has ~28 GB of debug telemetry logs they don't know about. Cover: (1) the audit (33 GB ~/.copilot + 11 GB C:\ssClawy = 44 GB), (2) the 4-tier cleanup framework (zero-risk → ask → reorg → deep), (3) auto-purge script with full code (3d log retention + 7d events.jsonl, daily 04:00 Scheduled Task, no admin), (4) session-store-as-forensic-recovery trick that rescued MBIE notes from git history. Personal-blog piece — not customer SE content. Material from 13 May 2026 session entry. |
🌸 Zen Design System¶
Philosophy: "A cherry blossom tree, not a jungle." Edge-to-edge. Every pixel earns its place. Docs: learn.aguidetocloud.com → Playground → 🌸 Zen Design System Status: Phases 1–4 complete + Phase 5a (Blog Reading Rooms) + Z1/Z2 (Nav + Tool Pages) deployed.
Next Up (High Priority)¶
| # | Task | Priority | Status | Notes |
|---|---|---|---|---|
| Z1 | Nav full-width — edge-to-edge nav bar | 🔥 Urgent | ✅ | Deployed 789bff4, hover fix dca4c2b. CSS grid 1fr auto 1fr. Logo left, dropdowns center, toggle+CTA right. Mega-menus stay anchored to triggers (position:relative) for reliable hover. |
| Z2 | Full-width tool pages — wider tool page container | 🔥 Urgent | ✅ | Deployed 789bff4. zt-page max-width increased from 1200px to var(--max-page, 1320px). |
| Z2a | Mobile theme toggle in drawer — add theme toggle to mobile nav drawer | 📋 Normal | ⬜ | Currently toggle only visible on desktop header. Add to drawer for mobile accessibility. |
| Z2b | Test 1025–1200px viewport — intermediate breakpoint check | 📋 Normal | ⬜ | Grid 1fr auto 1fr may crowd on narrow desktop. May need intermediate layout or raised breakpoint. |
| Z3 | Phase 5b: Study guide sidebar — cert-tracker single template | 📌 Important | ⬜ | 31KB complex template. Left sidebar: domain/module nav. Right sidebar: practice exam link, related certs, progress. Reuse zt-reading.css. |
| Z4 | Reading mode toggle — hide both sidebars for focused reading | 📌 Important | ⬜ | Small JS: button in content header, toggles zt-reading--focused class. Sidebars slide off, content expands. |
| Z5 | Phase 6: Attic cleanup — migrate ALL remaining pages to Zen tokens | 📋 Normal | ⬜ | 404, AI Hub, search overlay, cert-tracker list. Remove dead CSS. Target 50% CSS reduction. |
| Z6 | Phase 7: Guided alignment — port Zen tokens to Astro platform | 📋 Normal | ⬜ | Same Inter font, same type scale, same accent. Seamless Hugo↔Guided transition. |
| Z17 | Zen Mermaid diagrams — Stripe Docs style light canvas | 🔥 Urgent | ✅ | Deployed d62a174. Light theme (white nodes, dark grey text, #E5E5E5 borders), dot-grid canvas (#FAFAFA), rounded corners (rx/ry 12), fullscreen button, stripped 224 inline styles + 195 emojis from 24 files. 45 diagrams consistent. |
Reading Experience Enhancements (Audit 27 Apr 2026)¶
Context: Playwright audit of all 14 blog posts. Key finding: ~92 chars/line (optimal 65-80), font stack wrong (Satoshi before Inter), tables/headings need visual distinction. Full audit data:
~/.copilot/session-state/.../files/reading-audit/audit-data.json
| # | Task | Priority | Status | Notes |
|---|---|---|---|---|
| Z18 | Prose max-width 720px — constrain paragraph/list text within the wide column | 🔥 Urgent | ✅ Done | p, ul, ol, blockquote, dl, details, figure, h2-h5 { max-width: 720px; } inside .zt-reading-body. Tables, code, diagrams, images stay full-width. Drops chars/line from 92 → ~72. |
| Z19 | Font fix: Inter only — remove Satoshi from font stack | 🔥 Urgent | ✅ Done | Changed --font-body and --font-heading vars in style.css. Satoshi @font-face kept in fonts.css (cleanup later). |
| Z20 | H2 left accent border — visual scanning aid for headings | 📌 Important | ✅ Done | border-left: 3px solid var(--accent); padding-left: 12px; on .zt-reading-body h2. Stripe-inspired. |
| Z21 | Table containers — wrap tables in subtle bordered box | 📌 Important | ✅ Done | JS wraps in .zt-table-wrap. border: 1px solid var(--border); border-radius: var(--radius-md); overflow-x: auto. |
| Z22 | Font size controls (A+ / A-) — reader-adjustable text size | 📌 Important | ✅ Done | 3 sizes: 14/16/18px via --reading-font-size on .zt-reading. localStorage. Lesson: var must be on ancestor, not consumer. |
| Z23 | Kindle warm tint toggle — warm sepia/amber reading mode | 📌 Important | ✅ Done | .zt-reading--warm class on container (NOT html attribute — avoids bleeding to tools). 4 palette combos (light/dark × cool/warm). |
| Z24 | Focus mode — hide both sidebars, center content at 800px | 📋 Normal | ✅ Done | .zt-reading--focused on grid. Sidebars hidden, content max-width 800px. Button hidden on mobile (sidebars already gone). |
| Z25 | Heading hierarchy fix — fix H3-after-H1 in 4 blog posts | 📋 Normal | ✅ Done | Quick Links/TOC → bold text (not headings, to avoid polluting sidebar TOC). Short Version → H2. |
| Z26 | Line highlight on hover — subtle paragraph highlight for reading tracking | 💤 Someday | ⬜ | .zt-reading-body p:hover { background: var(--accent-subtle); } — helps track reading position. Very subtle, Kindle-inspired. Test if it's distracting first. |
| Z27 | Section time estimates in TOC — "~3 min" per H2 in sidebar | 💤 Someday | ⬜ | JS calculates word count between H2s. Appends time estimate to TOC links. Only on posts with >5 H2s. |
| Z28 | Drop cap — first letter of first paragraph enlarged | 💤 Someday | ⬜ | ::first-letter { font-size: 3em; float: left; } on first .zt-reading-body > p:first-of-type. Classic editorial touch. Test readability. |
| Z29 | Image lightbox — click images to view full-size overlay | 💤 Someday | ⬜ | Small JS: click img → fixed overlay with the image at full resolution. Close on click/Esc. Only for blog reading pages. |
Ideas & Opportunities (Future)¶
| # | Task | Priority | Status | Notes |
|---|---|---|---|---|
| Z10 | Companion sidebar: "Popular this week" — show most-read articles | 💤 Someday | ⬜ | Needs analytics data (GA4 API or simple page view counter). Only build if "More Articles" shows engagement. |
| Z11 | Companion sidebar: Bookmark/save — let readers save articles for later | 💤 Someday | ⬜ | localStorage bookmarks. Small star icon per article. Bookmarks page to view saved items. |
| Z12 | Companion sidebar: Reading time progress bar — visual progress indicator in companion | 💤 Someday | ⬜ | Vertical progress bar or percentage in right sidebar. Complements the top progress bar. |
| Z13 | Blog dropdown nav — mega-menu for blog section | 💤 Someday | ⬜ | Only if blog grows past ~30 posts. Currently 14 posts — not enough to justify. |
| Z14 | Full-width homepage — apply same edge-to-edge philosophy to homepage sections | 💤 Someday | ⬜ | Homepage already fairly full-width. Could benefit from 3-column treatment on featured content. |
| Z15 | Dark mode for tool pages — enable light/dark toggle on non-home pages | 💤 Someday | ⬜ | Currently forced dark via body:not(.is-home). Requires auditing all 53 tool CSS files for hardcoded dark values. |
| Z16 | CSS purge — automated dead CSS removal | 💤 Someday | ⬜ | After Phase 6 when all pages use Zen tokens. Use PurgeCSS or manual audit. Target: remove neon vars, glass vars, per-tool accent overrides. |
📊 Licensing Simplifier — Post-SEO Expansion¶
Deployed: 2026-04-20. 8 rich plan pages + TOML data updates. Live at: aguidetocloud.com/licensing/
Immediate (do next session)¶
| # | Task | Priority | Status | Notes |
|---|---|---|---|---|
| LS1 | GSC: Submit new URLs for indexing — E7 + Copilot Pro | 🔥 Urgent | ✅ | Done 2026-05-13 — Both URLs already PASS verdict + indexed (last crawl 2026-04-28). Today's lastmod: 2026-05-13 bump on microsoft-365-e7.md will trigger re-crawl via sitemap. Verified via ~/.copilot/session-state/<sid>/files/gsc-ls1-ls2-ls3.py URL inspection. |
| LS2 | GSC: Submit enriched page URLs — Biz Basic, Biz Premium, O365 E1, Frontline, E3, E5 | 📌 Important | ✅ | Done 2026-05-13 — 5/6 already indexed (last crawl 2026-04-28). E3 was "Discovered – not indexed"; pushed via Indexing API urlNotifications:publish (accepted, no error). Same call also made for E7, ME7 blog, Copilot Matrix, Agent 365 Planner — all accepted. Caveat: Google docs say the API is officially JobPosting/BroadcastEvent only; non-supported types may not be honoured, but the publish call succeeded for all 5 URLs. Combined with sitemap resubmit + fresh lastmod + new internal cross-links, this is 3+ layers of nudge. |
| LS3 | GSC: Submit AI News + Roadmap category URLs — self-reminder from Apr 20 | 📌 Important | ✅ | Done 2026-05-13 — Sitemap resubmitted via submit_sitemap() API call. 24 category URLs (13 AI News + 11 Roadmap) is past the ~10/day manual limit; sitemap resubmit + freshness signals is the right tool. If specific categories underperform, manually request indexing on the top 2–3. |
May 1 — E7 GA Launch Day¶
| # | Task | Priority | Status | Notes |
|---|---|---|---|---|
| LS4 | Flip E7 badge — "Coming May 2026" → "New" | 🔥 Urgent | ✅ | Done 2026-05-13 — microsoft-365-e7.md: badge Coming May 2026 → New, price_note GA May 2026 → Now GA, last_verified April 2026 → May 2026, description meta updated. Commit aea4c2a3. |
| LS5 | Verify E7 pricing and features post-GA — check official Microsoft page | 📌 Important | 🔄 | Partial 2026-05-13 — data/licence_picker/plans.toml E7 entry verified ($99 USD, status=ga, badge=New, full features list, agent-365 + entra-suite included). Full page-content audit against current Microsoft Learn pages still recommended for a SME pass. |
| LS6 | Add E7 to Licensing Simplifier changelog — data/licence_picker/changelog.toml |
📌 Important | ✅ | Done 2026-05-13 — Discovery: actual file is data/licensing/changelog.toml (NOT licence_picker/). Layout + JS already wired the "What Changed?" tab on /licensing/. E7 GA entry was already there from prior session. Polished: title Goes GA → Now Generally Available, expanded description (standalone Agent 365 $15/mo, FastTrack, pre-integrated partner agents). NEW entry 2026-05-multiplexing: May 2026 Product Terms update for agents/bots/RPA. Commit d47fc674. Pushed to Indexing API. |
QA Backlog (from rubber-duck review)¶
| # | Task | Priority | Status | Notes |
|---|---|---|---|---|
| LS7 | Fix teams-phone feature description — says "PSTN calling" but should say "Phone System/cloud PBX" | 📋 Normal | ⬜ | data/licence_picker/features.toml — description is misleading. Pages correctly note Calling Plan needed. |
| LS8 | Fix double JSON-LD rendering — FAQPage JSON-LD renders 2x on all licensing pages | 📋 Normal | ⬜ | Template issue: probably included in both single.html and baseof.html. All 50 pages affected. Check layouts/licensing/single.html + layouts/_default/baseof.html. |
| LS9 | Copilot Studio feature in E7 picker — clarify limited vs standalone entitlement | 📋 Normal | ⬜ | Picker has copilot-studio in E7 features. Page correctly notes the difference. Could split into copilot-studio-basic vs copilot-studio-full. |
| LS10 | Enrich remaining plan pages — Business Standard, O365 E3, O365 E5, Education, etc. | 💤 Someday | ⬜ | 42 "thin" pages remain. Prioritise by GSC traffic data — enrich highest-traffic pages first. |
💼 Official (Microsoft Work)¶
| # | Task | Priority | Status | Notes |
|---|---|---|---|---|
| No tasks yet |
🏠 Personal¶
| # | Task | Priority | Status | Notes |
|---|---|---|---|---|
| No tasks yet |
💡 From the Idea Vault¶
Tasks generated from fleshed-out ideas. See full details in the Idea Vault.
| # | Task | Priority | Status | Idea # | Notes |
|---|---|---|---|---|---|
| I1 | Research & prototype: Copilot CLI on always-on Azure device | 📌 Important | ⬜ | Idea 1 | Cloud workstation + config sync |
| I2 | Build automated AI news page (ainews.aguidetocloud.com) | 📌 Important | ✅ | Idea 2 | ✅ Complete — see project docs |
| I3 | Deploy & test Clawpilot AI desktop assistant | 📌 Important | ⬜ | Idea 3 | Clone, build, evaluate — browser automation + Office docs |
| I4 | Deploy AI-in-One Dashboard in lab tenant | 🔥 Urgent | ✅ | Idea 4 | Purview audit logs → Power BI Copilot analytics |
🆕 New Tool Builds (Innovation Scout — 2026-04-16)¶
Source: Tool Innovation Scout research session — 6-dimension analysis across M365 admin communities, AI industry, community tools, cutting-edge browser AI, and cross-pollination. Full report in session artifacts (
tool-innovation-scout-report.md).
🏆 Top 3 — Build These¶
| # | Tool | Accent | Priority | Status | Sessions | Notes |
|---|---|---|---|---|---|---|
| NT1 | Agent 365 Planner — Quick Start education, readiness assessment (25Q/5 pillars), governance builder (checklist + naming + registry + policy), agent designer (decision tree + blueprint + permissions), FAQ | #00A4EF |
🔥 Urgent | ✅ | 2 | Built 2026-04-16. Live at /agent-365-planner/. Post-GA verified 2026-05-13 — added Intune as 4th integration pillar, multiplexing FAQ, GA-confirmation FAQ, cross-cloud shadow AI FAQ, Intune endpoint checklist item; bumped all 5 TOML last_verified to 2026-05-13. Commit 3a64a43f. |
| NT2 | M365 Security Toolkit — 50-question CIS v6 assessment, SPF/DKIM/DMARC generator, admin role planner, sharing advisor, risk quantifier, remediation scripts, compliance mapping (CIS+NIST+ISO+E8) | #41A235 |
📌 Important | ✅ | 2 | Built 2026-04-16. Live at /security-toolkit/. |
| NT3 | AI Cost Calculator — total cost of AI adoption, token/API pricing across all providers, M365 licence optimizer, budget timelines, cost-per-action breakdown | #66C559 |
📌 Important | ✅ | 2 | Built 2026-04-16. Live at /ai-cost-calculator/. |
🌙 Moonshot¶
| # | Tool | Priority | Status | Notes |
|---|---|---|---|---|
| NT4 | AI Text Lab — browser-based AI (Transformers.js) for sentiment, readability, summarisation. "Nothing leaves your browser." | 💤 Someday | ⬜ | Large effort. Start with v1 (sentiment + readability only) when Transformers.js ecosystem stabilises. LinkedIn-viral potential. |
🔧 V3 Tool Value Improvements¶
Source: Double peer-reviewed audit (2026-04-16). Full plan in Copilot CLI session artifacts (
v3-value-plan.md). Progress: 5/14 shipped. 8 remaining.
Shipped ✅¶
| # | Tool | Feature | Shipped |
|---|---|---|---|
| V1 | Prompt Library → Polisher | "Polish" button on every prompt card | 2026-04-16 |
| V2 | AI Showdown | Shareable compare URLs (?compare=openai,anthropic) |
2026-04-16 |
| V3 | Service Health | Active incident count badge on tab | 2026-04-16 |
| V5 | Deprecation Timeline | Watchlist — star items, "My Watchlist" toggle | 2026-04-16 |
| V12 | Password Generator | 3 IT-admin policy presets (Entra/M365/Service) | 2026-04-16 |
Medium Effort (half-day each)¶
| # | Tool | Feature | Priority | Status | Notes |
|---|---|---|---|---|---|
| V4 | Shared Workspace v1 | Cross-tool localStorage: watchlists, comparisons, export/import JSON | 📌 Important | ⬜ | Both reviewers' #1 missing item. Do after more tool patterns emerge |
| V6 | CA Builder | JSON file import — upload Graph API export, parse client-side | 📌 Important | ⬜ | Import logic partially exists; file-upload UX needed |
| V7 | Meeting Planner | ICS file download for best meeting slot | 📋 Normal | ⬜ | Timezone correctness needs careful QA |
| V8 | PS Builder | Keyword-tagged recipe search with curated synonyms | 📋 Normal | ⬜ | Synonym map, not fuzzy matching — avoids noisy results |
Larger Effort (1-2 days each)¶
| # | Tool | Feature | Priority | Status | Notes |
|---|---|---|---|---|---|
| V9 | Cert Tracker | "My Path" — target cert, completed exams, next steps | 📌 Important | ⬜ | Needs explicit cert-path graph defined first |
| V10 | All pipeline tools | "What changed" badges — last_visit timestamp, badge new items | 📌 Important | ⬜ | Do Roadmap + Deprecation first, then standardise |
| V11 | WiFi QR Cards | Multi-network batch — Home + Guest + IoT in one print | 📋 Normal | ⬜ | Extend existing card renderer |
| V13 | Colour Palette | Brand kit from base colour — accessible colour system | 📋 Normal | ⬜ | Primary/secondary/accent/text/background |
| V14 | Image Compressor | Web pack — 3 sizes (thumb/medium/full) in one ZIP | 📋 Normal | ⬜ | Extend existing batch + ZIP infrastructure |
Killed (with reasons)¶
| Item | Reason |
|---|---|
| QR short-link tracking | Needs server — incompatible with static site |
| Pomodoro calendar awareness | Needs API access |
| Countdown calendar URL import | CORS blocks most calendar URLs |
| Typing Test adaptive difficulty | Low relevance to IT admin audience |
| ROI live currency conversion | Stale data risk without live rates |
| AI News entity-join cards | Taxonomy too complex, easy to be noisy/wrong |
| Licensing optimiser | Dangerous complexity, high risk of bad advice |
✅ Completed¶
| # | Task | Category | Completed |
|---|---|---|---|
| L0a | Install and launch Copilot CLI | 🎓 Learning | 2026-03-26 |
| L0b | Understand sessions, /resume, /usage |
🎓 Learning | 2026-03-26 |
| L0c | Set up custom instructions file | 🎓 Learning | 2026-03-26 |
| L0d | Set up automatic backup to OneDrive | 🎓 Learning | 2026-03-26 |
| L0e | Learn about skills, plugins, and MCP servers (overview) | 🎓 Learning | 2026-03-27 |
| L0f | Build documentation website with MkDocs | 🎓 Learning | 2026-03-27 |
| L0g | Deploy learning website to Azure Static Web Apps | 🎓 Learning | 2026-03-27 |
| B1 | Set up dual backup (Corp OneDrive + Google Drive) | 🎓 Learning | 2026-03-28 |
| B2 | Create custom instructions memory system (main + reference) | 🎓 Learning | 2026-03-28 |
| I2 | Build automated AI News page (ainews.aguidetocloud.com) | 💡 Idea Vault | 2026-03-28 |
| R5 | Deploy AI-in-One Dashboard in lab tenant | 🔬 Explore Repos | 2026-03-29 |
| M2 | Set up GitHub Actions auto-deploy for aguidetocloud.com | 🔧 Maintenance | 2026-03-28 |
| M3 | Set up YouTube auto-scan for new videos | 🔧 Maintenance | 2026-03-28 |
| M4 | Fix OpenGraph metadata for social sharing | 🔧 Maintenance | 2026-03-31 |
| M5 | Add Microsoft Clarity analytics | 🔧 Maintenance | 2026-03-31 |
| M6 | Add security headers to Azure SWA | 🔧 Maintenance | 2026-03-31 |
| M7 | Fix external links missing rel="noopener" | 🔧 Maintenance | 2026-03-31 |
| M8 | Fix broken MS-500 & SC-900 redirects | 🔧 Maintenance | 2026-03-31 |
| M9 | Convert images to WebP (83% smaller) | 🔧 Maintenance | 2026-03-31 |
| M10 | Lazy-load YouTube iframes | 🔧 Maintenance | 2026-03-31 |
| M11 | Fix muted text contrast for WCAG AA | 🔧 Maintenance | 2026-03-31 |
| M12 | Add RSS auto-discovery link | 🔧 Maintenance | 2026-03-31 |
| M13 | Add Organization + BreadcrumbList schema | 🔧 Maintenance | 2026-03-31 |
| M14 | Add site search with Ctrl+K | 🔧 Maintenance | 2026-03-31 |
| M15 | Self-host fonts (no Google CDN) | 🔧 Maintenance | 2026-03-31 |
| M16 | Add apple-touch-icon | 🔧 Maintenance | 2026-03-31 |
| M17 | Clean up dead theme switcher code | 🔧 Maintenance | 2026-03-31 |
| M18 | Add skip-to-content a11y link | 🔧 Maintenance | 2026-03-31 |
| M19 | Fix missing DNS for learn. + preview. subdomains | 🔧 Maintenance | 2026-03-31 |
| M1 | Migrate DNS from Squarespace to Cloudflare | 🔧 Maintenance | 2026-03-30 |
Legend
Priority: 🔥 Urgent · 📌 Important · 📋 Normal · 💤 Someday
Status: ⬜ Not started · 🔄 In progress · ✅ Complete