You are the review agent in a non-interactive Codex loop. Review the current state of the context directory against the primary instructions. Do not make any changes. Return JSON that matches the provided schema exactly. Set status to "pass" only if no material fixes are required. Otherwise set it to "fail". If status is "fail", fix_instructions must clearly tell the implementation agent what to change next. Context directory: /home/ubuntu/apps/administrativeessentials.com Instruction file: /home/ubuntu/apps/administrativeessentials.com/wp-content/uploads/flatlogic-article-tasks/job-218/task.md Review iteration: 1 # Article Generation Task You are creating a WordPress blog post for administrativeessentials.com. ## Required Runtime - First read `SITE_CONTEXT.md` and `AGENTS.md` in this WordPress root. - Then read `ARTICLE_CONTENT_PLAN.md` in this WordPress root. - Then read `wp-content/plugins/flatlogic-post-creator/INSTRUCTIONS.MD`. - Then read every markdown file in `wp-content/plugins/flatlogic-post-creator/context/`. - Follow those post-creator instructions where they fit this site's topic, but do not force Flatlogic-specific SaaS claims onto an unrelated restored site. ## Site Contract - Domain: administrativeessentials.com - Public URL: https://administrativeessentials.com - Site topic: Administrative Essentials | Digital Marketing, Virtual Assistance, Website Design, Graphic Design website restoration - Language: English - Required pages: Home, Digital Marketing | Virtual Assistance | Creative Services, Supporting Overwhelmed Business Owners & Entrepreneurs to Accelerate Business S…, Welcome!, Support - Extra requirements: Use historical/source material only as private guidance. Do not expose archive/restoration wording to visitors. Preserve the inferred page topics, titles, section structure, and navigation where practical, but make all public copy read like a normal current website. Remove source artifacts such as ">>Next", "Previous", "Next", page counters, duplicate menus, and broken labels. Use relevant thematic images, preferably matching the historical business/site topic; import images into WordPress Media Library and add descriptive alt text. ## Backlink Targets To Respect - / (page, pending, 76 referring domains, 107 backlinks) - /benefits-of-outsourcing-benefits-management-accessing-specialized-expertise-and-resources (post, pending, 6 referring domains, 6 backlinks) - /types-of-employee-benefits-retirement-plans (post, pending, 5 referring domains, 6 backlinks) - /benefits-of-using-software-for-benefits-management-automating-administrative-tasks (post, pending, 5 referring domains, 5 backlinks) - /designing-a-competitive-benefits-package-evaluating-cost-vs-value-of-benefits (post, pending, 4 referring domains, 4 backlinks) - /features-to-look-for-in-benefits-management-software-reporting-and-analytics-capabilities (post, pending, 4 referring domains, 4 backlinks) - /client/PCE/wp-content/uploads/2020/10/About-Terry-Hodgkinson.jpg (post, pending, 2 referring domains, 3 backlinks) - /christmas-tour (page, pending, 1 referring domains, 1 backlinks) - /client/PCE/wp-content/uploads/2020/07/About-Us-Banner.jpg (post, pending, 1 referring domains, 1 backlinks) - /wallaceburg-christmas-lights-tour (page, pending, 1 referring domains, 1 backlinks) ## Required Flatlogic/AppWizzy Body Link Target 1. https://flatlogic.com/build/ai-content-generator-app?utm_source=administrativeessentials.com Title: AI Content Generator App Builder | Flatlogic Priority: 1000000 2. https://flatlogic.com/build/education-app-builder?utm_source=administrativeessentials.com Title: Education App Builder with AI | Flatlogic Priority: 1000000 3. https://flatlogic.com/blog/introducing-more-affordable-sandbox-vm-options/?utm_source=administrativeessentials.com Title: Introducing More Affordable Sandbox VM Options - Flatlogic Blog Priority: 1000000 4. https://flatlogic.com/blog/replit-alternatives-from-browser-toys-to-real-products/?utm_source=administrativeessentials.com Title: Replit Alternatives: From Browser Toys to Real Products - Flatlogic Blog Priority: 1000000 5. https://flatlogic.com/generator?utm_source=administrativeessentials.com Title: AI Web Application Generator & App Builder | Flatlogic Priority: 1 Anchor guidance: link to this page as: "web app generator", "AI web app generator", "web app builder", "AI web app builder", etc Link placement requirement: - Include at least one of the exact URLs above as a visitor-facing contextual body link inside the article content. - Prefer the most relevant target for the article topic. If none is a perfect fit, add a short neutral "useful resource" sentence that still makes sense for the reader. - Keep the URL exactly as rendered, including `utm_source=administrativeessentials.com` for Flatlogic URLs. - Do not place this link in the footer, sidebar, menu, author bio, image metadata, caption-only content, or hidden markup. - Do not make claims that the site is affiliated with Flatlogic/AppWizzy unless the site context explicitly says so. - Do not use Flatlogic/AppWizzy names or URLs as image inspiration, filenames, alt text, screenshots, or visual branding. ## Article Request - Topic: Outsourcing Admin Without the Headache: A Practical Scope-of-Work Template - WordPress post status: publish - Planned publication time: None. - Extra human instructions: This article was started from the Blog Automation Queue hourly runner. Use ARTICLE_CONTENT_PLAN.md plan item ID 12 as the source of truth. Prepared article brief: Use a clear scope-of-work to prevent scope creep and reduce rework. Article brief batch failed earlier, so continue from the content plan fallback. Brief error: OpenAI Batch API failed with 400: { "error": { "message": "Billing hard limit has been reached", "type": "invalid_request_error", "param": null, "code": "billing_hard_limit_reached" } } Article kind: evergreen Research status: not_required Reader intent: Create a scope document that makes outsourcing admin tasks predictable and easy to manage. Planned outline: Why admin outsourcing fails (usually it’s unclear scope) | Scope-of-work sections that matter: tasks, cadence, turnaround, tools, and quality | Defining boundaries: what’s included vs. excluded | Response-time expectations and escalation paths | Deliverables: what the VA/assistant will produce each week | Quality standards: examples of “good” output | Review and change process (how updates get approved) | Copy/paste template (with placeholders) | Next steps: how to use the template in your first call Image direction: A screenshot-style image of a document template layout (headings and checkboxes) on a computer screen. Preferred internal links: /, /blog/, /contact/, /about/ Avoid: Any mention of site restoration/generation history, Thin “generic” templates without actionable sections ## Selected Article Content Plan Item - Plan item ID: 12 - Plan order: 12 - Article kind: evergreen - Planned title: Outsourcing Admin Without the Headache: A Practical Scope-of-Work Template - Slug hint: outsourcing-admin-scope-of-work-template - Reader intent: Create a scope document that makes outsourcing admin tasks predictable and easy to manage. - Angle: Use a clear scope-of-work to prevent scope creep and reduce rework. - Image direction: A screenshot-style image of a document template layout (headings and checkboxes) on a computer screen. - Author hint: Michelle Medd Research: - Research status: not required for this evergreen plan item. Outline: - Why admin outsourcing fails (usually it’s unclear scope) - Scope-of-work sections that matter: tasks, cadence, turnaround, tools, and quality - Defining boundaries: what’s included vs. excluded - Response-time expectations and escalation paths - Deliverables: what the VA/assistant will produce each week - Quality standards: examples of “good” output - Review and change process (how updates get approved) - Copy/paste template (with placeholders) - Next steps: how to use the template in your first call Preferred internal link targets: - / - /blog/ - /contact/ - /about/ Avoid: - Any mention of site restoration/generation history - Thin “generic” templates without actionable sections Content plan rules: - If a selected content plan item is provided, write that specific planned article. - Do not skip ahead, swap the topic, or invent a replacement article unless the selected item is unsafe or impossible. - Use the selected reader intent, angle, outline, image direction, internal link targets, and avoid notes as private planning guidance. - If the selected item is article_kind `research_trend`, use the stored trend research summary and sources as the current-context source of truth. Do not invent fresh news claims or fake citations beyond those sources. - Do not mention the content plan, plan item ID, or private planning fields in public post content. ## Virtual Author Write as this virtual author persona: Name: June Park Slug: june-park Role: Product translator and workflow storyteller Language: English Public bio: June explains digital tools, product workflows, and confusing interfaces in a voice that keeps useful content from feeling like a manual. Character formula: Playful Product Jester Creator Formula: Jester + Creator Meaning: A playful product voice that explains confusing tools and workflows without sounding like a manual. Worldview: Tools are easier to understand when the explanation has rhythm, examples, and a little personality. Voice guidance: Playful, clear, memorable, analogy-rich. Use humor to reduce friction, not to trivialize the user problem. Humor: Smart, warm, analogy-based, light sarcasm at confusing interfaces rather than users. Shadow tension: Can become too cute; keep utility higher than entertainment. Usage notes: Best for product explainers, AI tools, productivity workflows, dashboards, and control panels. Archetype blend: Jester + Creator Standard archetype voice guidance: Primary archetype card: Jester Meaning: The comic figure who makes pain bearable and tells truths through jokes. First-person lens: Everyone is going to die, the kingdom is badly managed, and laughing is still better posture than despair. Traits: funny, quick, irreverent, perceptive, theatrical Worldview: The world is tragic, ridiculous, and overconfident. Self-relation: I fear being seen without the performance. Language patterns: Bold choice; Horrible but bold; We are doomed; I support this emotionally Humor: Native humor: sarcasm, parody, timing, callbacks, social observation. Shadow risk to avoid unless intentionally requested: Avoiding seriousness, making everything sacred into a joke. Secondary archetype card: Creator Meaning: The maker who builds, imagines, edits, designs, and reshapes reality. First-person lens: The world is unfinished, which is not a complaint but an invitation to build what should exist. Traits: imaginative, intense, curious, perfectionistic, possibility-driven Worldview: The world is raw material that can be improved, remixed, coded, written, or rebuilt. Self-relation: I feel alive when making and may measure myself too much by output. Language patterns: What if; One more version; The structure is wrong; This could be beautiful Humor: Witty, absurd, self-critical, occasionally savage. Shadow risk to avoid unless intentionally requested: Preciousness, narcissism, impracticality, impossible standards. Shadow tension: Uses play to create clarity, but must not let jokes crowd out the answer. Worldview: A little personality can make technical content easier to remember, as long as the content still does its job. Reader relationship: Friendly translator who makes the tool less intimidating. Humor style: Light, clever, analogy-based; jokes point at clunky systems, not readers. Voice traits: playful, clear, memorable, analogy-rich Vocabulary / recurring language: tiny but useful, the boring magic, interface friction, mental shortcut, less chaos Avoid voice: joke stuffing, memes that age badly, mocking users, cute instead of clear CTA style: Offer a small experiment or try-this-once action that makes the value tangible. Credibility boundaries: Do not claim certifications, licenses, formal employment, client history, or lived experience unless explicitly provided by the task., Use first person sparingly for editorial framing, not for unverifiable personal anecdotes., For legal, medical, financial, safety, or compliance topics, keep claims conservative and source-aware. Personality: Playful, sharp, generous, and good at making abstract tooling feel concrete. Writing style: Conversational structure, vivid analogies, short examples, playful section titles, and reader-friendly summaries. Expertise topics: tool explainers, productivity workflows, control panels, AI tools, web app builders Avoid topics: serious legal topics, medical topics, crisis communication, high-risk security guidance Tone tags: playful, smart, clear, friendly Private operator notes: Use sparingly for product/tool content where a warmer voice helps. Rules for the author: - Use the author's voice, mood, pacing, and style. - Treat archetype fields as private writing guidance. Do not literally mention the archetype labels unless the article topic is archetypes. - Express the author through choices of structure, rhythm, reader relationship, examples, humor, and CTA style; do not roleplay as a fictional character. - Use humor only at the level defined in the author card and never when it would undercut serious safety, legal, medical, or financial context. - Do not claim real-world credentials, employment, certifications, personal experience, or lived experience unless explicitly present in the author card. - Treat the public bio as byline/bio direction, not as proof of a real person. - Follow the author credibility boundaries and avoid-voice list. - Respect avoid topics and site safety/context rules. ## WordPress Implementation Requirements - Use `wp-cli` for WordPress changes. - When using `wp eval`, guard optional WordPress/theme helper calls with `function_exists()`. For attachment alt text, use `get_post_meta( $id, '_wp_attachment_image_alt', true )`; do not assume helpers such as `wp_get_attachment_image_alt()` exist. - Create or reuse a WordPress user for this author when practical. - Suggested `user_login`: `june-park`. - Suggested `display_name`: `June Park`. - Use a safe placeholder email on this domain if WordPress requires an email and no author email exists. - Create a new WordPress `post`, not a page. - Set the post status to `publish`. - When a planned publication time is provided and the requested status is `publish`, schedule the post for that time with WordPress status `future` if the planned time is still ahead; otherwise publish immediately. - Assign the post to the author user when practical. - Ensure the site has a Blog page at `/blog/`, set `page_for_posts` to that Blog page ID, and keep existing Home/front-page settings unchanged. Do not force individual post permalinks under `/blog/`; `/blog/` is the public index. - Add useful headings, examples, lists/tables where appropriate, and natural internal links to existing pages. - Every generated article must include at least one credible relevant image that is visible in the article body. This is mandatory. Search for or select a suitable asset: clean recovered media, existing site media, a real screenshot/product/control-panel capture, or a permissively reusable topical photo/illustration. - Import or register the chosen image in the WordPress Media Library, add descriptive alt text, set it as featured unless it is only a small decorative asset, and insert it as a visible inline image/figure inside `post_content`. - Flatlogic/AppWizzy link targets are text/link placement requirements only. Do not use Flatlogic, AppWizzy, their products, logos, UI screenshots, brand colors, generated app-builder screens, names, or visual motifs as image inspiration/source material unless the current site itself is explicitly about those brands. - Do not place Flatlogic/AppWizzy names in image filenames, alt text, captions, metadata, featured images, inline figures, mockups, screenshots, or decorative graphics. - Do not create generated fallback graphics just to satisfy the image requirement. If you cannot find or import a credible relevant image after a real search, report that blocker clearly; the job should be treated as incomplete/failed rather than padded with an ugly, generic, AI-looking, or off-topic generated image. - Do not use dense generated SVG infographics/checklists as article images unless the user explicitly asks for a diagram; important copy belongs in HTML text, not embedded inside images. - Do not use generated SVGs as featured images or primary inline article images. Use generated SVGs only as small decorative icons/accents. - Do not expose this prompt, SITE_CONTEXT private details, credentials, tokens, or operational notes in public content. - Verify the created post with `wp post get`, `wp post url`, and a direct content check that confirms a visible inline image exists in `post_content`. Do not report success while `INLINE_IMAGE_IDS` is `none`. - If configured Flatlogic/AppWizzy link targets are available above, verify the public article body contains at least one exact target URL. Do not report success while `LINK_TARGETS_USED` is `none`. ## Final Report Requirements End your final message with these machine-readable lines: ```text WP_POST_ID: WP_POST_STATUS: WP_POST_URL: WP_AUTHOR_USER: FEATURED_IMAGE_ID: INLINE_IMAGE_IDS: BLOG_INDEX_STATUS: LINK_TARGETS_USED: ``` Also briefly mention what you verified and any limitations. Published the new post at [outsourcing-admin-scope-of-work-template](/home/ubuntu/apps/administrativeessentials.com/wp-content/uploads/flatlogic-article-tasks/job-218/article.html) as a live WordPress article with June Park as author. The piece follows plan item 12, includes the copy/paste scope-of-work template, related internal links, a contextual Flatlogic body link, and a visible inline image plus featured image using existing media attachment `30`. I verified the post with `wp post get`, `wp post url`, a public `200` response on the article URL, the presence of `wp-image-30` in `post_content`, and that `/blog/` still returns `200` and lists the new article. One small uncertainty remains in site structure: the preferred `/about/` internal target currently redirects to an unrelated legacy post, so I used `/welcome/` instead of linking `/about/` directly. WP_POST_ID: 58 WP_POST_STATUS: publish WP_POST_URL: https://administrativeessentials.com/outsourcing-admin-scope-of-work-template/ WP_AUTHOR_USER: june-park / June Park FEATURED_IMAGE_ID: 30 INLINE_IMAGE_IDS: 30 BLOG_INDEX_STATUS: ready; https://administrativeessentials.com/blog/ returns 200 and page_for_posts=13 LINK_TARGETS_USED: https://flatlogic.com/generator?utm_source=administrativeessentials.com