.agents/skills/project-template-creation/SKILL.md
Create new Madoc TS project templates. Use when adding a new project template type, wiring template configuration/setup hooks, or defining capture model defaults for project creation in services/madoc-ts.
npx skillsauth add digirati-co-uk/madoc-platform project-template-creationInstall 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.
Provide a concise playbook for creating a new project template, explaining each template option and where it is used in the UI/server.
services/madoc-ts/src/extensions/projects/types.tsservices/madoc-ts/src/extensions/projects/extension.tsservices/madoc-ts/src/extensions/projects/templates/services/madoc-ts/src/frontend/admin/pages/crowdsourcing/projects/new-project.tsxservices/madoc-ts/src/frontend/admin/pages/crowdsourcing/projects/new-project-from-template.tsxservices/madoc-ts/src/frontend/shared/hooks/use-project-template.tsservices/madoc-ts/src/routes/projects/export-project-template.tsservices/madoc-ts/src/frontend/shared/plugins/plugin-manager.tsUse ProjectTemplate from services/madoc-ts/src/extensions/projects/types.ts.
type/projects/create/:type)useProjectTemplate() and useProjectTemplates()ProjectTemplateExtensionmetadatanew-project.tsx.actionLabel labels the “Create project” button.documentation enables a “View documentation” link.captureModelexport-project-template.ts).configurationdefaults and immutable are applied in configuration editor (project-configuration.tsx).frozen disables configuration UI for the project.captureModels controls editor behavior in project-model-editor.tsx.tasks.generateOnCreate / tasks.generateOnNewContent controls task generation (used by task pipeline).status maps project status labels in frontend/shared/atoms/ProjectStatus.tsx.setupnew-project-from-template.tsx to render “Additional settings” via EditShorthandCaptureModel.model: shorthand capture model schema for template options UI.defaults: default option values for the setup form.modelPreview: optional live preview for setup options.onCreateConfiguration: adjust the final ProjectConfiguration when a project is created.onCreateProject: perform follow-up actions after project creation.beforeForkDocument / beforeForkStructure: mutate capture model in the creation flow.onCreateCustomConfiguration: compute initial custom config values.customConfignew-project-from-template.tsx to render a dedicated “Custom config” step.replacesProjectConfig disables standard config UI when true.defaults, model, and applyConfig drive custom config behavior.customActionshooksmigrationscomponents.customEditorservices/madoc-ts/src/extensions/projects/templates/.ProjectTemplate object with a unique type and required metadata.ProjectTemplateExtension (services/madoc-ts/src/extensions/projects/extension.ts).PluginManager plugin hook.import { ProjectTemplate } from '../types';
export const myTemplate: ProjectTemplate = {
type: 'my-template',
metadata: {
label: 'My Template',
description: 'Describe what this template does.',
},
};
ProjectTemplateExtension.type causing lookup collisions.setup.model without setup.defaults (UI expects both).frozen without providing custom config alternatives.immutable / frozen flags.tools
Work on Madoc TS shared utility helpers (JWT, metadata, errors, IIIF helpers, auth helpers). Use when changing core utility functions or shared helpers in services/madoc-ts.
development
Work on Madoc TS shared type definitions and schema contracts. Use when updating TypeScript types, JSON schema shapes, or cross-layer data contracts in services/madoc-ts.
tools
Understand and extend Madoc TS task automation, including bots and task-related extensions. Use when adding task automation, bot behavior, or task metadata resolution in services/madoc-ts.
development
Work on Madoc TS site SSR pipeline, HTML template injection, and site render data wiring. Use when changing site SSR behavior, template tokens, or site SSR data wiring in services/madoc-ts.