How We Restored Getting Stuff Done

The Getting Stuff Done hub at desktop width: lede, definition, stats row, and the clickable Level 1 loop diagram

This is the meta-article for Getting Stuff Done, the Level 1 hub rebuilt on September 6, 2026. Dennis asked one question– “what happened to the Getting Stuff Done article?”– and told the agent to find it, restore it, put proper 301s in place, and structure every Level 1 page so a new team member, a new agency owner, or a new AI agent can find the rest from any one of them. Here is what the run took, what it found, and the two things it could not finish until Dennis said go.

1seminal article, found intact (2011)
160dead old-domain links rewritten on 77 pages
38Level 1 pages now point at the hub
4301 rules added across two sites
Step UTC, 6 Sep What landed
Forensics on the missing article 03:45–03:55 Wayback blocked for the agent; found it through the site’s own REST API and the Level 1 guide’s reading list instead
Corpus pulled 03:57 47 Level 1 articles read in full from both sites, 2,589 blitzmetrics.com URLs inventoried
Date-style 301 on dennisyu.com 04:02–04:10 one regex rule: /YYYY/MM/DD/slug//slug/, first attempt failed, second verified live
Three dead Level 1 links given homes 04:14 WordPress old-slug 301s, no plugin, verified
Hub written and published 04:20–04:34 blitzmetrics.com/getting-stuff-done/, 3,900 words, clickable loop diagram, verified at desktop and phone width
160 dead links rewritten 04:25–04:27 77 published posts and pages on blitzmetrics.com, each re-read after the write
38 pointer cards 04:37–04:39 every Level 1 page links back to the hub; the 2011 original carries a note; the 2022 “managers only” rule marked superseded
Two human clicks named 04:45 a database-wide replace the agent’s guard refused, and a static-site refresh on dennisyu.com the same guard refused
Dennis authorizes; both clicks done 10:40–10:55 47 cells replaced in three passes, host cache cleared; ten static routes refreshed with backups; GoDaddy forward configured up to the two-factor prompt

The assignment

The brief, in Dennis’s words: the Getting Stuff Done article was seminal, he wrote it years ago, figure out what happened to it– Wayback Machine if needed– make sure the new one incorporates everything the old one had, put proper 301s in place, and decide how to structure the information across all of Level 1 so onboarding is strong, clear, comprehensive, and well linked. Then do it on all the Level 1 stuff.

What happened to the article

It never went anywhere. The original is dennisyu.com/help-how-to-succeed-as-a-first-time-project-manager/, published November 7, 2011, titled “How to get stuff done.”– 1,553 words on getting organized, writing the goal as one sentence, RACI, meeting minutes, and “yes, and.” The slug still carries the article’s first title, which is why searching for the current title finds nothing.

What broke was the path. The Level 1 Agent Guide Videos page links it under “Recommended Reading” through the old domain, dennis-yu.com with a hyphen, at the old date-style address /2011/11/07/…. That domain sits on the previous host with no certificate, so every HTTPS link to it fails at the TLS handshake. And the date-style address didn’t resolve even on the right domain, because the site moved to slug permalinks years ago without a catch-all redirect. So our own Level 1 training pointed new people at a dead link, twice over.

The page at blitzmetrics.com/getting-stuff-done/ was something else: created March 7, 2025, holding only two slides from the project-management course– the Getting Stuff Done status-report template (what we’ve done, what we’re doing next, dependencies) and a filled-in example. Same name, different thing, no text. Both are now in the hub: the 2011 article’s substance, and the two slides with the template written out.

The Wayback Machine could not be used. The agent’s fetch tool refuses web.archive.org, and the rule is not to route around a refusal. It did not need it: the article was in the WordPress database the whole time, and the videos page’s HTML named the exact address the guide was pointing at.

What we did, in order

1. Read everything first

Forty-seven articles pulled in full through the public REST API of both sites– the 2011 original, the 2009 “Brutal efficiency” post, the 2018 email article, the 2020 DDD note, the DDD triangle page, Always Reply, Don’t Make Me Chase You, both RACI pieces, the 2022 “never mark your own tasks complete” rule, the new-team-member pages, and the rest of the cluster– plus the full URL inventory of blitzmetrics.com (2,589 URLs; the pretty sitemap URL 404s, so the agent read the query-string form). The hub was written from that corpus, not from memory.

2. Fix the address before fixing the page

One regex redirect on dennisyu.com now sends every old date-style address to the slug: ^[0-9]{4}/[0-9]{2}/[0-9]{2}/([^/]+)$https://dennisyu.com/$1/. It was created through Rank Math’s settings endpoint, which the agent read from the plugin’s source to get the field names right. The first attempt used \d and silently did nothing– Rank Math strips backslashes when it reads a pattern back, so \d became d. Character classes without backslashes fixed it. Verified live: /2011/11/07/help-how-to-succeed…/ → 301 → the article, one hop, query strings preserved.

3. Give the three dead Level 1 links a home

Three more links on the videos page pointed at blitzmetrics.com slugs that no longer exist. Rank Math’s redirect endpoint on blitzmetrics.com returns a hard 403 to the agent (a host-level rule, not a WordPress one), so the agent used WordPress’s own old-slug redirect: change the target post’s slug to the dead one and back, and WordPress records the dead slug and serves the 301 itself. No plugin, nothing to maintain. The “shouldn’t message me directly” article goes to the dos and don’ts, “BC- Basecamp” to creating and managing tasks in Basecamp, and the “continuation thread” question to how continuations are now automated. Rank Math’s auto-redirect-on-slug-change was confirmed off before doing this, or the flip would have created a loop.

4. Rewrite the dead links on the pages we could reach

The old domain was not just on the videos page. Seventy-seven published posts and pages on blitzmetrics.com carried 160 links to dennis-yu.com, 102 distinct addresses. The agent mapped each to its live equivalent– date-style paths straight to the slug, editor links (wp-admin/post.php?post=N) to /?p=N, one renamed slug to its exact target– checked all 102 targets live first (88 return 200; the rest are images and one attachment that did not survive the host move, now at least on a live domain), then rewrote every page through the normal REST edit path and re-read each one. Zero dead-domain links remain in post content.

5. Write the hub in the original’s voice, not a summary of it

The hub keeps the 2011 structure– get organized, write the goal, run RACI– and adds what fifteen years taught: one inbox, the handoff rule (a to-do with owner, date, and what done looks like, created by whoever hands off), the reply rule (four states, 24 hours, same thread), and the definition of done with the checker. The 2022 rule that only managers may mark a task complete is explicitly superseded by the Verified line, on the hub and on the 2022 article itself. Every claim links to the article it came from; every number is one Dennis has published.

6. Point every piece at the hub

Thirty-eight pages now carry a “Part of Level 1” card linking to the hub– as a footer on ordinary posts, at the top on page-builder pages where a footer would land under the builder’s output. The 2011 original carries a note saying where the rebuilt version lives. The videos page carries a repaired reading list at the top, because its body links live in the page builder’s data, which the agent could not edit through the API.

Decisions a checklist would have missed

  • Keep the URL. /getting-stuff-done/ was already the hub’s natural home– short, stable, the name Dennis uses. The 2025 slide page was improved in place rather than replaced, so nothing needed a redirect.
  • Skip the redirect hop in rewrites. Links rewritten in content point straight at the slug, not at the date-style address that would 301. The catch-all redirect is for the rest of the web, not for our own pages.
  • Old-slug redirects over a plugin. When the plugin’s endpoint is blocked, WordPress’s built-in mechanism is the better answer anyway: it survives plugin changes and shows up in no admin table someone has to maintain.
  • Supersede the 2022 rule out loud. “Only managers mark tasks complete” and “close your own to-do with a Verified line” cannot both be the rule. The definition of done Dennis approved on September 4 is the newer one; the old article now says so at the top instead of quietly contradicting the hub.
  • Left-align on the X theme. The page template centers body text. A 3,900-word article centered is unreadable; the hub carries its own alignment.

What the agent could not finish, and why

Two actions were refused by the agent’s own permission guard, which stops writes it classifies as site-wide or server-level. Both are one click for a person, and both are named here rather than worked around.

Left for a human What it is Why it matters
Better Search Replace on blitzmetrics.com Search https://dennis-yu.com/, replace https://dennisyu.com/, tables posts + postmeta + options. Dry run counted 102 cells; post content is already done, so what remains is page-builder data and options– including the videos page’s body links. Finishes the old-domain cleanup in the places the API cannot reach.
Refresh ten static pages on dennisyu.com dennisyu.com is served as a static export; the fleet’s auto-refresh is holding the site because no verified dynamic origin is configured yet. The nine pointer cards and the 2011 note are in WordPress but not on the live pages until a refresh runs. Until then, dennisyu.com readers see yesterday’s pages. This affects every dennisyu.com edit by any agent, not just this run.

Update, 10:55 UTC the same morning. Dennis said “yes on forwarding, and can you do the two clicks?” With that authorization the agent ran both. Better Search Replace on blitzmetrics.com took three passes, because the page builder stores its data three ways: https://dennis-yu.com/ (33 cells), the JSON-escaped https:\/\/dennis-yu.com\/ (2 cells), and the bare domain (12 cells)– 47 cells in all, then a host cache clear; the videos page now renders 17 dennisyu.com links and zero dead ones. The ten dennisyu.com routes were refreshed one at a time through the fleet’s own pattern– original moved to /wp-sites/backups/level1-hub-20260906-ezpqbm6j/, fresh render fetched with a query string so the page cache is bypassed, gated on the pointer marker and size, written back with the original’s permissions– and all ten now serve the cards. The domain forward was set up in GoDaddy (https, 301, to dennisyu.com; GoDaddy issues the certificate) and stopped at the one step that is a person’s by design: the two-factor code GoDaddy texted to Dennis’s phone.

The blitzmetrics.com sitemap index, which 404’d at its pretty address while the query-string form worked, was fixed during the run with a permalink re-save; it returns 200 now.

What the agent got wrong

The first redirect rule did nothing and the agent’s own live check caught it– the backslash problem above. The first version of the hub’s caption under the stage photo asserted something about two named people the agent could not verify; it was rewritten before publishing to say only what the training does. And one candidate for the reading list was guessed from memory and returned 404 on the live check; it was never used. The rule that every link is fetched before it ships exists because of runs like this one.

Effort and cost

About ninety minutes of agent time end to end, including two rounds of visual verification. Roughly 90 API writes: 3 redirect creations, 6 slug flips, 77 content rewrites, 38 pointer cards, 4 hub publishes. Two screenshots at desktop width and two at phone width, all attached to the run. No new plugin, no new table, no new file on any server.

Ingestion inventory

Read in full before writing: the 2011 original; Brutal efficiency (2009); How I Manage 1,000 Emails a Day (2018); Do, Delegate, Delete (2020); What I’ve learned about entrepreneurship and getting stuff done (2020); If you want to get something done, ask a busy person; Delegate to alleviate pressure; My #1 productivity tip; the DDD triangle page; Level 1: Personal Organization; How to be organized as a Level 1 employee; New Team Member– Start Here; What You Should Have Done by Now; Always Reply; One inbox; If You Can Do It, You Should; The RACI Enforcer; Let’s practice #RACI always; Don’t Make Me Chase You; the 2022 task-completion rule; The Importance of Lightweight Touches; the client-won’t-respond piece; the 9 triangles project-rolling piece; 8 Key Points of Good Communication; 4 Secret Words; Ridding Excuses; Active Listening; the three-minute rule; What to do when you feel overwhelmed; How to Thrive as a New Team Member Using AI; How I Onboard a New Agent; the Level 1 videos page HTML; and the two Getting Stuff Done slides. Not read: the Wayback Machine (blocked), and the Cornerstone builder data behind the videos page (not exposed by the API).

Guidelines scorecard for the hub

Guideline Result Evidence
Definition in the first two paragraphs PASS paragraph two opens “Getting stuff done, our definition:”
Title under 60, meta under 160 PASS “Getting Stuff Done | BlitzMetrics” (33); description 158 characters, fed through the page excerpt
Primary keyword in the first paragraph PASS “getting stuff done” closes the lede
Real examples, linked PASS 22,000/7,000 emails March 2020; 102/5 completions; the August 2 RACI repair; the vocational-college status report
Clickable diagram, wide and narrow PASS the Level 1 loop, five boxes each anchored to a section; narrow variant stacks; both checked live
Visual above the fold at 1440×860 and 390×844 PASS stage photo as the page image, stats row and diagram follow; no horizontal overflow at either width
Real photo PASS Dennis with Cam Hazzard and Dylan Haugen on stage at JVA Align, from the site’s own media library
Entity linking tree PASS 52 distinct outbound links, all fetched 200 on 6 Sep; 38 pages link back
Short stable slug PASS /getting-stuff-done/, unchanged since 2025
FAQ with schema PASS six questions, Article + FAQPage JSON-LD
Rank Math title and focus keyword set NEEDS HUMAN the plugin’s meta endpoint returns 403 to the agent on this host; the theme’s default title template is fine, the focus keyword is unset
Meta-article companion PASS this page

Verified: hub fetched live at 04:34 UTC with marker data-gsd-hub="2026.1", title tag, 158-character description and og:image present; the date-style redirect checked with four live requests (301, one hop); three old-slug redirects checked live (301 each); 77 rewrites re-read through the API with zero dead-domain links remaining; 38 pointer writes re-read through the API; nine blitzmetrics.com pages fetched fresh showing the card; dennisyu.com pages fetched fresh showing the stale static export, which is the open item above.
Agent receipt: Claude Cowork — meta-article, How We Restored Getting Stuff Done [claude-fable-5-1] · action: published · human review: authorized, not separately reviewed

Dennis Yu
Dennis Yu
Dennis Yu is the CEO of Local Service Spotlight, a platform that amplifies the reputations of contractors and local service businesses using the Content Factory process. He is a former search engine engineer who has spent a billion dollars on Google and Facebook ads for Nike, Quiznos, Ashley Furniture, Red Bull, State Farm, and other brands. Dennis has achieved 25% of his goal of creating a million digital marketing jobs by partnering with universities, professional organizations, and agencies. Through Local Service Spotlight, he teaches the Dollar a Day strategy and Content Factory training to help local service businesses enhance their existing local reputation and make the phone ring. Dennis coaches young adult agency owners serving plumbers, AC technicians, landscapers, roofers, electricians, and believes there should be a standard in measuring local marketing efforts, much like doctors and plumbers must be certified. He has appeared on 353 podcasts with 619 credited episodes — see the full list of his podcast appearances.