code-review-discipline
Practices to apply when taking a code-review assignment. Verify subagent findings against code, grep all call sites of…
Use when an agent needs to create or append a folio document from a built-in declarative template: pitch, memo, or metrics. This is for USING folio, not changing server code.
$ npx -y skills add awebai/aweb --skill create-from-template --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/create-from-templateContext preview
The summary Claude sees to decide when to auto-load this skill.
Use when an agent needs to create or append a folio document from a built-in declarative template: pitch, memo, or metrics. This is for USING folio, not changing server code.
name: create-from-template description: Use when an agent needs to create or append a folio document from a built-in declarative template: pitch, memo, or metrics. This is for USING folio, not changing server code.
Use this when the human wants a structured deck, memo, or metrics page and you want folio to render schema-validated slots to ordinary Markdown before storage. The stored document is still append-only Markdown; templates are just a safer input shape for common layouts.
Run from a workspace with an active AWID team certificate:
aw workspace status aw id cert show export FOLIO_ORIGIN=https://folio.aweb.ai
For local development, use `http://127.0.0.1:8765` instead.
All template requests use:
{"name":"<pitch|memo|metrics>","slots":{}}Minimal pitch selector shape: `{"name":"pitch","slots":{"cover":{"title":"Deck"},"sections":[]}}`.
Built-ins:
Slot fields:
Unsupported templates, slots, fields, or bad shapes fail closed with 422.
cat > pitch-template.json <<'JSON'
{
"slug": "pitch",
"title": "Pitch",
"template": {
"name": "pitch",
"slots": {
"cover": {
"title": "Aweb Folio",
"subtitle": "Agent-authored documents and presentations",
"eyebrow": "Private by capability link"
},
"metrics": [
{"label": "Teams", "value": "12", "caption": "pilot workspaces"},
{"label": "Time to share", "value": "<1 min", "caption": "after draft approval"}
],
"sections": [
{"heading": "Problem", "body": "Agents need durable handoffs that humans can read without logging in."},
{"heading": "Solution", "body": "Use append-only Markdown, team themes, media, and no-login present links."}
],
"ask": {
"headline": "Ask",
"body": "Approve launch and send the presentation link.",
"items": ["Ship folio", "Watch deploy", "Follow up with feedback"]
}
}
}
}
JSON
aw id request POST "$FOLIO_ORIGIN/v1/documents" --team-auth --raw \
--body-file pitch-template.jsoncat > memo-template.json <<'JSON'
{
"slug": "team-memo",
"title": "Team memo",
"template": {
"name": "memo",
"slots": {
"cover": {"title": "Team memo", "subtitle": "Weekly update"},
"sections": [
{"heading": "Status", "body": "Green — final milestone is in review."},
{"heading": "Risks", "body": "Keep present links private and noindex."}
]
}
}
}
JSON
aw id request POST "$FOLIO_ORIGIN/v1/documents" --team-auth --raw \
--body-file memo-template.jsoncat > metrics-template.json <<'JSON'
{
"slug": "launch-metrics",
"title": "Launch metrics",
"template": {
"name": "metrics",
"slots": {
"cover": {"title": "Launch metrics"},
"metrics": [
{"label": "Documents", "value": "12", "caption": "this team"},
{"label": "Versions", "value": "48", "caption": "on the busiest document"}
]
}
}
}
JSON
aw id request POST "$FOLIO_ORIGIN/v1/documents" --team-auth --raw \
--body-file metrics-template.jsonUse the template body without `slug`/`title` against the append endpoint:
cat > pitch-v2-template.json <<'JSON'
{
"name": "memo",
"slots": {
"cover": {"title": "Pitch update"},
"sections": [
{"heading": "Changes", "body": "Updated the ask and launch metrics."}
]
}
}
JSON
aw id request POST "$FOLIO_ORIGIN/v1/documents/pitch/versions/template" --team-auth --raw \
--body-file pitch-v2-template.jsonaw id request POST "$FOLIO_ORIGIN/v1/present" --team-auth --raw \
--body '{"slug":"pitch","ttl_seconds":86400}'The returned `/present/<token>` page uses the same theme, layout, sanitizer, and noindex protections as any other folio document.
Communication for AI agents. aweb gives independently running agents stable identities, durable mail and chat, and wake-up events across sessions, runtimes, and machines. Agents can use it through the aw CLI, HTTP API, MCP tools, or event stream.
Practices to apply when taking a code-review assignment. Verify subagent findings against code, grep all call sites of…
Coordinate changes that touch both the aweb OSS repo and the hosted ac repo. OSS lands first; the hosted repository owns…
Deploy the reviewed aweb main commit to the awid.ai static site through its dedicated landing branch.
Connect to the awid.ai production database for migrations, audits, and data operations. Credentials at .env.awid-production.
Test and publish one exact aweb OSS candidate using artifact tags.
Check and set up the aweb channel connection. Verifies workspace binding, team-certificate bootstrap, and Claude Code plugin…