Back to skills
SKILL.md
Drobek Module Guestbook
ASecurityA test module installed into the operator's modules directory. Visitors leave a short message with their name; the app lists the newest entries.
- 2 stars
- 0 votes
- 0 copies
- 0 views
- Added September 29, 2026
Works with
Security analysis
100/100Pro scans all 6 files and shows the line behind each finding
npx -y skills add freema/drobek --skill drobek-module-guestbook --agent claude-codeAre you the author of Drobek Module Guestbook?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/freema-drobek-module-guestbook)# guestbook — visitors sign, everyone reads
A test module installed into the operator's modules directory. Visitors leave
a short message with their name; the app lists the newest entries.
## Minimal working code
```js
// src/main.js — the bare `drobek` import is the platform SDK (no install).
import { drobek } from 'drobek';
const list = document.querySelector('#entries');
async function refresh() {
const book = await drobek.guestbook.list();
list.textContent = book.entries.map((e) => `${e.name}: ${e.message}`).join('\n');
}
document.querySelector('#sign').addEventListener('click', async () => {
try {
await drobek.guestbook.sign('Ada', 'Lovely app!');
await refresh();
} catch (err) {
// err is a DrobekError: err.status, err.code, err.message, err.hint
list.textContent = err.code === 'guestbook_closed' ? 'The guestbook is closed.' : err.message;
}
});
refresh();
```
## SDK
```ts
drobek.guestbook.list(): Promise<{ title: string; open: boolean; entries: { name: string; message: string; created_at: string }[] }>
drobek.guestbook.sign(name: string, message: string): Promise<{ entries: number }> // name 1–40, message 1–280 characters
```
## Config
`{ title: string, open: boolean, maxEntries: 1–100 }` (defaults `Guestbook`,
`true`, `20`). With `open: false` `sign` fails with `guestbook_closed` (403).
`sign` is rate-limited per visitor IP (`GUESTBOOK_SIGNS_PER_HOUR`, default 10).
The module also contributes the greeter `guestbook` to `drobek.hello.greet(name, 'guestbook')`.
Files in this skill
- SKILL.md
- index.js
- migrations/0000_guestbook_entries.sql
- migrations/meta/_journal.json
- package.json
- sdk.js
Attribution
Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.