Kinetik
Prompt results.Without the prompting.
← All articles

Article —

From a shared link to a published article

We share a link from a phone and a Claude agent drafts the article on our site. A person still reviews every word before it goes live.

Phone share, Netlify function, GitHub Action, Claude agent, pull request, Deploy Preview, merge.

We read a lot: new tools, libraries and essays on AI-driven development. The good ones deserve a short note on our site, but writing that note at a desk later rarely happens. So we automated the boring part and kept the part that needs judgement.

Share from the phone

The entry point is a small Progressive Web App (PWA) at kinetik.fi/. Once it is installed on an Android phone, it appears in the system share menu like any other app. That is the Web Share Target API, and it needs no app store.

When we find something interesting, we share the page with the app. The form fills in the URL and title. We add a comment with our angle on it, and can choose the Claude model and effort for the run. Sign-in is Google OAuth through Netlify Identity, and only allowlisted addresses can send.

From the phone to GitHub

The form posts to a Netlify function. It checks the session and the allowlist, validates the input and triggers a GitHub Actions workflow with a repository_dispatch event. The function holds the only GitHub token, scoped to this one repository.

The agent writes, the workflow decides

The workflow checks out the website repository and runs the Claude Agent SDK with an article-writing skill. The skill is a plain Markdown file in the repository: what a reference article contains, how long it is, which frontmatter it needs and what tone to use.

The agent reads the original page, writes one Markdown file and links back to the source. It runs with narrow permissions: no shell, writes only to the articles folder, and fetches only the shared page’s host. If the page cannot be read, it writes nothing.

The agent does not commit anything. The workflow checks that exactly one new article exists, runs the same checks as our CI, and only then commits and opens a pull request.

Review in minutes, not days

Netlify builds a Deploy Preview for every pull request, a temporary copy of the whole site with the new article in place. A couple of minutes after sharing, the review link is waiting.

Netlify bot comment on the pull request: Deploy Preview for kinetik-fi ready, with the preview link

From there it is a normal code review:

  • Comment on the pull request and reply /revise, and the agent reruns with the original input plus the comments.
  • Merge it, and the production site updates right after.

GitHub pull request: all checks have passed, CI and Netlify deploy, ready to merge

Every article written this way carries a badge saying that the page contains AI-generated content. Readers should know, and the badge costs nothing.

What we take from it

The pattern is not about articles. A trigger from wherever you are, an agent with a written skill and tight permissions, and a pull request as the checkpoint. That fits much of the content and maintenance work on a site. The AI does the first draft fast. The review, and the decision to publish, stay with a person.

Need something like this?

Building this workflow took one day. It already saves us hours of work and makes our days a lot easier. If you want something similar, tell us about it in the form below.

Contains AI-generated content

04 — Contact

Tell us what you need.

Describe the problem or the idea. We reply with an estimate of how it could be done.