skills/notebook-creator/SKILL.md
Generate valid Fieldmark notebook JSON files from natural language descriptions, field manuals, or specifications. Supports validation rules, conditional logic, and parent-child relationships.
npx skillsauth add saross/personal-assistant notebook-creatorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Activate when users request creation of Fieldmark notebooks, data collection forms, survey templates, or field data capture forms in JSON format.
Trigger phrases:
When this skill activates, follow these steps:
Accept input in multiple formats:
Extract these key details:
Ask clarifying questions only if critical information is missing. Infer sensible defaults when possible.
CRITICAL: Always read the relevant sections of the Fieldmark reference documentation before generating JSON.
Primary Reference: /home/shawn/Code/fieldmark-docs-staging/production/reference.md
Read these sections as needed:
Use grep to find specific sections efficiently:
# Find component mapping
grep -A 50 "Editor Component Mapping" /path/to/reference.md
# Find specific component details
grep -A 30 "ComponentName" /path/to/reference.md
# Find validation patterns
grep -A 20 "validationSchema" /path/to/reference.md
Based on the documentation read in step 2, map each user requirement to the appropriate Fieldmark component.
Common mappings (verify against reference.md):
CRITICAL: Every notebook MUST include a TemplatedStringField for HRID (Human-Readable ID), or records will display as cryptic UUIDs.
Follow the Fieldmark notebook structure from reference.md:
{
"metadata": {
"notebook_version": "1.0",
"schema_version": "1.0",
"name": "Notebook Name",
"accesses": ["admin", "moderator", "team"],
"ispublic": false,
"isrequest": false,
"lead_institution": "Organisation Name",
"project_lead": "Lead Name",
"project_status": "New",
"pre_description": "Description of notebook purpose"
},
"ui-specification": {
"fields": { /* field definitions */ },
"fviews": { /* view groupings */ },
"viewsets": { /* form configuration */ },
"visible_types": [ /* enabled forms */ ]
}
}
Key requirements (verify details in reference.md):
name in component-parameters MUST match field ID[["yup.string"]]Group related fields into logical fviews (3-8 fields per section):
Common sections:
Place the HRID field (TemplatedStringField) in the first fview.
Before writing the file, verify against the validation checklist in reference.md:
Critical checks:
Ask user: "Where should I save this notebook JSON?"
Default suggestion: /home/shawn/Code/fieldmark-docs-staging/production/outputs/example-notebooks/[notebook-name].json
Write the file with:
site-name)Confirm success with summary:
Read validation patterns from reference.md. Common patterns:
[["yup.string"], ["yup.required", "Error message"]][["yup.number"], ["yup.min", 0], ["yup.max", 100]][["yup.string"], ["yup.matches", "pattern", "Error"]]Use is-logic to show/hide fields:
"field-name": {
"is-logic": {
"if": "other-field",
"==": "value"
}
}
Use RelatedRecordSelector for linking records:
related_type to viewset namerelation_type to "faims-core::Child" or "faims-core::Parent"multiple to true/falseDetails in reference.md under RelatedRecordSelector.
Review example notebooks for patterns:
/home/shawn/Code/fieldmark-docs-staging/archive/example-notebooks//home/shawn/Code/fieldmark-docs-staging/production/outputs/example-notebooks/Read examples when:
Generate notebooks for:
Most common errors (details in reference.md):
Always read the "Common Errors" section in reference.md before writing JSON.
Use these defaults unless user specifies otherwise:
accesses: ["admin", "moderator", "team"]ispublic: falseisrequest: falseproject_status: "New"publishButtonBehaviour: "always"development
This skill should be used when the user asks to "moderate marks", "produce marking dossiers", "double-mark" an assessment, run a "second-reader pass", or "build a moderation pack". Also trigger when the user has just entered rubric marks for a HUMN8031 Assessment 2 paper and wants a moderation dossier produced. Do not trigger for rubric design or rubric review — only for dossier production on a marked assessment.
development
Generate modular "lego brick" documentation for Fieldmark field types. Produces design docs (Notebook Editor configuration), collect docs (data collection usage), shared docs, Playwright screenshot specs, and practical fieldwork tips. This skill should be used when creating, updating, or reviewing field type documentation for the fieldmark-docs-staging repository.
development
Classify dual-nature entities (hotels, churches, schools, halls) as building-only, business/organisation-only, or both based on contextual linguistic analysis.
development
This skill should be used when the user asks to "build a rubric", "create a rubric", "design a rubric", "make a marking rubric", "assessment rubric", or "rubric for [assessment name]". Also trigger when the user mentions needing to mark or assess student work and a rubric does not yet exist. Do not trigger for rubric review or revision of an existing rubric — only for building a new one.