Agentation + here.now Feedback Loop Plan
A clear no-MCP plan for publishing agent-created artifacts, capturing visual Agentation feedback, and routing submitted feedback into Hermes work.
Goal
Create a reusable delivery-and-feedback workflow for agent-created artifacts: prototypes, specs, plans, strategy narratives, copy drafts, and visual explorations.
Published report: https://agents.huntsyea.com/agentation-here-now/
Scope judgment
Correctly scoped if it treats Agentation as the visual feedback capture layer and here.now as the artifact delivery layer. Overengineered if it asks Hunter to run MCP or learn agent plumbing. Underengineered if it only publishes static pages and leaves feedback trapped in vague chat descriptions.
Do not use MCP for this workflow. Hunter does not want MCP in the Agentation loop because it adds cognitive load and makes the system feel confusing. Use Agentation's copy output, callbacks, and webhook support instead.
Recommendation
Build a Hermes skill named agentic-artifact-feedback that publishes reviewable artifacts and turns Agentation feedback into agent-ready work.
The skill should do four jobs:
- Wrap an existing artifact for review.
- Publish it to here.now and mount it under
agents.huntsyea.com/<path>/. - Capture precise feedback with Agentation when the artifact is HTML-reviewable.
- Route submitted feedback into a simple agent-consumable queue.
The first useful version should be a manual copy/paste loop. The second useful version should be webhook-based. Skip all MCP modes.
Documentation reviewed
- Agentation home/docs:
https://www.agentation.com/ - Agentation API docs:
https://www.agentation.com/api - Agentation webhook docs:
https://www.agentation.com/webhooks - Agentation schema docs:
https://www.agentation.com/schema - Agentation npm package:
[email protected] - here.now docs:
https://here.now/docs
What the docs prove
here.now
here.now is the right artifact host.
- Publishes static sites and files.
- Supports authenticated permanent publishes.
- Supports custom-domain mounts under
agents.huntsyea.com/<path>/. - Requires the
agents.huntsyea.comindex refresh after Hunter-facing mounts. - Is a static host, not the feedback backend.
Agentation
Agentation is the right review capture layer.
[email protected]is a React 18+ package with zero runtime dependencies.- It is desktop-browser focused; mobile is not supported.
- The toolbar lets Hunter click elements, select text, annotate regions, pause animations, and copy structured markdown.
- Annotations include selector paths, positions, comments, selected text, CSS classes, nearby text, computed styles, accessibility info, and React component context when available.
- It exposes callbacks:
onAnnotationAdd,onAnnotationUpdate,onAnnotationDelete,onAnnotationsClear,onCopy,onSubmit, andonSessionCreated. - It supports
webhookUrlfor JSON POST events. - Its schema includes lifecycle fields (
pending,acknowledged,resolved,dismissed) and optionalintent/severityfields.
Relevant Agentation webhook events
annotation.addannotation.updateannotation.deleteannotations.clearsubmit
The gateway should listen to all events for storage, but trigger an agent run or notification only on submit by default.
Architecture
Artifact-producing workflow
└─ creates static HTML / markdown render / prototype directory
└─ agentic-artifact-feedback skill
├─ wraps or renders artifact into a review page
├─ injects Agentation when practical
├─ writes artifact metadata
├─ publishes via here.now
├─ mounts under agents.huntsyea.com/<path>/
└─ returns URL + feedback instructions
Hunter opens agents.huntsyea.com/<path>/
└─ adds Agentation annotations
├─ Phase 1: copies Agentation markdown back to Hermes
└─ Phase 2: clicks Send Annotations -> webhook gateway -> feedback queue
Hermes reads feedback queue
└─ makes edits, summarizes changes, republishes artifact, and marks feedback resolved
Explicit non-goals
- No MCP setup.
- No
agentation-mcpdependency. - No local
localhost:4747workflow. - No dynamic tool discovery.
- No requirement that Hunter learn Agentation internals.
- No direct Agentation-to-Hermes webhook without a validation gateway.
- No automatic agent runs on every annotation keystroke.
MVP
Phase 1 — Manual review loop
Objective: Ship the review surface immediately with the least cognitive load.
Tasks:
- Create the
agentic-artifact-feedbackskill. - Add a
publish-reviewworkflow:
- input: artifact directory, single HTML file, or markdown file;
- input: desired short path;
- output: https://agents.huntsyea.com/<path>/.
- If input is markdown, render it into a clean review HTML page.
- If input is HTML, preserve the artifact and add a lightweight review shell when safe.
- For React artifacts, support optional direct
Agentationcomponent injection. - For static/non-React pages, provide a small React island wrapper only when it does not distort the artifact.
- Include concise review instructions on the page:
- click the Agentation toolbar;
- annotate the exact element or selected text;
- copy formatted markdown;
- paste it back to Hermes.
- Publish with here.now.
- Mount to
agents.huntsyea.com/<path>/. - Run
update-agents-index.py. - Return the custom-domain URL and the feedback instructions.
Acceptance criteria:
- A static artifact can be published to
agents.huntsyea.com/<path>/. - The root
agents.huntsyea.comindex includes the new mount. - The page explains the review flow in plain English.
- Hunter can annotate an element, copy Agentation markdown, and paste it back to Hermes.
- No MCP setup appears anywhere in the user path.
Phase 2 — Webhook feedback queue
Objective: Remove copy/paste without introducing MCP.
Tasks:
- Build a small
artifact-feedback-gatewayendpoint. - Inject Agentation with
webhookUrlpointing at the gateway. - Generate a per-artifact
feedbackToken; include it in the webhook URL or request payload. - Accept Agentation JSON POST events:
- annotation.add
- annotation.update
- annotation.delete
- annotations.clear
- submit
- Store events in SQLite or JSONL under
~/.hermes/artifact-feedback/. - Store normalized annotation records using the Agentation schema fields:
- artifact URL;
- event type;
- annotation id;
- selector / element path;
- comment;
- selected text;
- severity / intent when present;
- status;
- timestamp;
- raw payload pointer.
- Rate-limit the endpoint and reject oversized payloads.
- Sanitize comments before rendering them in Discord, HTML, or dashboards.
- Trigger Hermes only on
submitby default. - Deliver one concise Discord notification with artifact URL, annotation count, and next action.
Acceptance criteria:
- Missing or invalid artifact tokens are rejected.
- Valid events are stored with enough metadata for an agent to act.
submitcreates one actionable notification or queued run.- Add/update/delete events update storage without spamming Hunter.
- Feedback can be listed by artifact URL and status.
Phase 3 — Agent resolution loop
Objective: Turn feedback into closed-loop work.
Tasks:
- Add feedback statuses:
pending,acknowledged,resolved,dismissed. - Add a local command or Hermes tool wrapper:
- list pending feedback by URL;
- show annotation detail;
- mark acknowledged;
- mark resolved with summary;
- dismiss with reason.
- Add a feedback digest prompt for agents:
- group annotations by artifact and severity;
- identify exact files/selectors to inspect;
- preserve Hunter's wording;
- ask for clarification only when the feedback is genuinely ambiguous.
- After edits, republish the artifact and attach a short change summary.
- Preserve previous annotation history across republish cycles.
Acceptance criteria:
- Hermes can pull pending feedback for a URL.
- Hermes can mark feedback acknowledged/resolved/dismissed.
- Resolved feedback includes a concise summary and updated publish URL when relevant.
- Republish does not erase prior feedback history.
Skill interface proposal
hermes-artifact-feedback publish-review \
--input ./dist \
--path homepage-v2 \
--title "Homepage V2" \
--source-skill sketch \
--feedback manual
Modes:
manual- Agentation copy/paste instructions only.webhook- AgentationwebhookUrlposts to the feedback gateway.
No local-mcp mode.
Artifact metadata
Each published artifact should include a local metadata file:
{
"title": "Homepage V2",
"customUrl": "https://agents.huntsyea.com/homepage-v2/",
"rawHereNowUrl": "https://<slug>.here.now/",
"mountPath": "homepage-v2",
"sourceSkill": "sketch",
"sourcePath": "./dist",
"feedbackMode": "manual",
"agentationEnabled": true,
"feedbackTokenRef": "local-secret-reference-only",
"createdAt": "2026-05-15T00:00:00Z"
}
Do not place secrets or durable gateway credentials in static pages. A page token may identify one artifact session, but it must not grant broad Hermes access.
Security and product decisions
- Use submit as the automation boundary - annotation events are storage signals; submit is the agent-trigger signal.
- Use page-specific tokens - one compromised artifact should not expose other feedback sessions.
- Sanitize user content - annotation comments are user-generated input.
- Keep here.now public by intent - sensitive artifacts should use private Drive or gated here.now features later.
- Do not couple to MCP - the supported paths are manual copy and webhook queue.
- Keep Hunter's path simple - open page, annotate, copy/send feedback, receive updated artifact.
First build slice
- Create the
agentic-artifact-feedbackskill scaffold. - Implement markdown-to-review-page rendering.
- Implement HTML directory passthrough publishing.
- Implement here.now publish + agents-domain mount + index refresh.
- Add optional Agentation injection for compatible HTML/React artifacts.
- Add manual copy-feedback instructions to review pages.
- Publish one test artifact.
- Document the webhook gateway contract, but delay the gateway build until the manual loop proves useful.
Open decisions
- Whether the production receiver should live inside Hermes gateway, a tiny Cloudflare Worker, or a separate local service exposed by tunnel/reverse proxy.
- Whether feedback should create Discord notifications, Kanban tasks, GitHub issues, or direct agent runs.
- Whether every artifact should be public under
agents.huntsyea.com, or whether some review artifacts should use expiring/private links. - Whether Agentation should be injected into all compatible HTML artifacts by default or only when requested.
Current recommendation
Start with Phase 1 and keep it intentionally boring: publish the artifact, let Hunter annotate visually, and copy structured Agentation output back to Hermes.
Then build Phase 2 as a webhook queue if the manual loop proves valuable on two or three real artifacts. That path removes copy/paste without making Hunter adopt MCP.