Dg indieweb
A menagerie of Agent Skills for AI coding agents
npx -y skills add palol/skills-zoo --skill dg-indiewebAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 27 days oldThe repository was created 27 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Add IndieWeb support to an Obsidian Digital Garden (oleeskild digital-garden plugin + Eleventy) site: h-card + h-entry microformats2, webmention discovery + IndieAuth/rel-me links, build-time webmention fetch with a /webmentions/ display page and per-note facepiles, and GitHub Actions that fetch received mentions and send outgoing ones. Upstream-safe - user-owned paths + runtime microformat decoration, no plugin-core edits. Use when a user wants to make their digital garden part of the IndieWeb, add webmentions, microformats, h-card/h-entry, rel-me identity, or finish a half-done IndieWeb setup. Trigger on: indieweb, webmention, webmentions, microformats, h-card, h-entry, rel-me, indieauth, POSSE, add webmentions to my digital garden, finish my indieweb setup.
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
6.8 KB, as published. Nobody here has run it
Digital Garden - IndieWeb Kit
Makes an Obsidian Digital Garden
(Eleventy) site a first-class IndieWeb citizen:
microformats2 identity + content markup, webmention send/receive, and a
/webmentions/ display page - all without editing plugin core.
When to Use This Skill
Use when a DG user wants to join the IndieWeb: add webmentions (send and/or
receive), microformats (h-card, h-entry), discovery links,
rel-me identity, or finish a partially-done IndieWeb setup (a common
state: h-card + data fetcher present, but no display page, no h-entry, dead npm
scripts, or a token accidentally hardcoded).
Do not use on non-DG stacks (Quartz, Astro, plain Eleventy) - the note markup shape, autoloader slots, and theme tokens are DG-specific.
DG invariants respected
- User-owned paths + runtime decoration. Everything lands in user
territory:
components/user/**,_data/webmentions.mjs, root pagewebmentions.njk,scripts/**,.github/workflows/**, and appendedcustom-style.scss. h-entry needs classes on core-rendered elements, so anotes/headscript adds them at runtime - nonote.njk/layout edit. Seereferences/architecture.md§1. - Autoload, don't wire. Components use slot + filename-prefix
(
aa-head first,zz-footer/afterContent late). No layout edit. - Theme via tokens. All webmention styling inherits DG theme variables; light/dark automatic. Colors are never a knob.
- Accessibility / graceful degradation. JS-off pages stay valid HTML;
real
alt/labels on faces;prefers-reduced-motionrespected. - No secrets in code. The webmention.io token is read from
process.env.WEBMENTION_IO_TOKENonly - never hardcoded. (The reference implementation this was derived from had the token hardcoded; this skill fixes that. If you copied that pattern, rotate the exposed token.)
Prerequisites (verify first)
- An Obsidian Digital Garden (oleeskild plugin + Eleventy) repo with the
user-component autoloader (
_data/dynamics.jsglobbingcomponents/user/<ns>/<slot>/) and acomponents/pageheader.njkinclude. @11ty/eleventy-fetchavailable (add if missing) for build-time fetch.- A webmention.io account + token to receive mentions. Sending works without it.
- Your identity domain(s) known (apex +
wwwif both resolve).
Abort with a plain explanation if the target isn't DG+Eleventy with the autoloader.
Instructions
Pick the pieces you need (all optional except where noted). Full kit:
- Identity (h-card). Copy
assets/zz-hcard-footer.njk→src/site/_includes/components/user/common/footer/zz-hcard-footer.njk. Fill in name/bio/photo, or wire tometa.authoretc. - Microformats + discovery. Copy
assets/aa-microformats.njk→.../components/user/notes/head/aa-microformats.njk. SetWEBMENTION_DOMAIN(ormeta.webmentionDomain). This adds discovery<link>s, rel-me, and the runtime h-entry decoration. - Build-time receive. Copy
assets/webmentions.mjs→src/site/_data/webmentions.mjs. Templates readwebmentions.mentions. - Display page. Copy
assets/webmentions.njk→src/site/webmentions.njk(route/webmentions/). SetWEBMENTION_DOMAIN. - Per-note facepile (optional). Copy
assets/zz-note-webmentions.njk→.../components/user/notes/afterContent/zz-note-webmentions.njk. - Styles. Append
assets/indieweb.scsstosrc/site/styles/custom-style.scss(TUNING KNOBS block at top). - Send + archive automation (optional).
assets/fetch-webmentions.js→scripts/fetch-webmentions.jsassets/send-webmentions.js→scripts/send-webmentions.jsassets/fetch-webmentions.yml/send-webmentions.yml→.github/workflows/- Add repo secret
WEBMENTION_IO_TOKEN; repo variablesWEBMENTION_DOMAINS,SITE_URL,SITE_TITLE.
- Build and verify with
references/verify.md. Test markup at indiewebify.me and functionality at webmention.rocks.
Key Design Points
- Fixes the classic half-done setup. Adds the missing
/webmentions/page, real h-entry (no core edit), and removes any hardcoded token - the three things most DG IndieWeb attempts get wrong. - Two receive paths. Build-time (
webmentions.mjs, live but needs token in build env) and committed-JSON archive (fetch-webmentions.js+ workflow, lands on awebmentionsbranch). Use either or both - seereferences/architecture.md. - Send is sitemap-driven with backoff. Dedupe log avoids re-pinging; min 7 days between sends, re-send on update, 30-day refresh.
Risk Level
L2. Beyond writing user-owned files, this adds build-time data fetching and
two GitHub Actions that execute Node scripts, read your notes/sitemap, and make
env-gated network calls to webmention.io. No secrets in code; no plugin-core
edits; reversible via git. Review scripts/*.js before enabling the workflows.
Reference Files
references/architecture.md- the three layers, why runtime h-entry, both receive paths, and the full config surface.references/tuning.md- every SCSS/template/env knob.references/verify.md- mf2, discovery, receive, send, security, and upstream-safety checks.
Assets
zz-hcard-footer.njk, aa-microformats.njk, webmentions.mjs,
webmentions.njk, zz-note-webmentions.njk, indieweb.scss,
fetch-webmentions.js, send-webmentions.js, fetch-webmentions.yml,
send-webmentions.yml.
Validate & Package
npx skills-ref validate skills/dg-indieweb/
zip -rq dg-indieweb.zip dg-indieweb