skills/arckit-template-builder/SKILL.md
Create new document templates by interviewing the user about their organization's requirements
npx skillsauth add tractorjuice/arckit-codex arckit-template-builderInstall 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.
You are helping an enterprise architect create a brand-new document template tailored to their organization's specific needs. Unlike $arckit-customize (which copies existing templates for editing), this command creates entirely new templates from scratch through an interactive interview process.
$ARGUMENTS
This command generates:
.arckit/templates-custom/{name}-template.md with Template Origin: Community banner.arckit/guides-custom/{name}.md with Guide Origin: Community banner.agents/skills/arckit-community-{name}/SKILL.md.arckit/community/{name}/All community-generated content is clearly marked with origin banners to distinguish it from official ArcKit templates.
ArcKit uses three origin tiers for all templates and guides:
Template Origin: Official)$arckit-customize (e.g., Template Origin: Custom)Template Origin: Community)Extract the template type from $ARGUMENTS. If blank or vague, ask the user what kind of document template they want to create.
Check for the --share flag in arguments. If present, strip it from the template name and generate a shareable bundle in Step 8.
Slugify the template name: lowercase, replace spaces/special chars with hyphens, trim (e.g., "Security Assessment" -> "security-assessment").
Ask these questions BEFORE reading any templates. Present all 4 questions together, then wait for the user's answers before continuing.
Question 1 — header: Category, multiSelect: false
"What category best describes this template?"
Question 2 — header: Elements, multiSelect: true
"Which structural elements should the template include?"
Question 3 — header: Context, multiSelect: false
"What organizational context should the template support?"
Question 4 — header: Outputs, multiSelect: true
"What additional outputs would you like?"
$arckit-community-{name} skill fileApply the user's selections: the category determines the template's major sections. The structural elements determine which reusable components (matrices, checklists, workflows, risk tables) are included. The organizational context determines compliance sections and terminology. If "Codex Skill" is selected, generate a skill in Step 6. If the user passed --share, generate a bundle in Step 7.
Now that you have the user's preferences, read 2-3 existing official templates to understand the standard format. Read these files directly. Do not search broadly or delegate this step.
Always read:
.arckit/templates/requirements-template.md (canonical Document Control + structure)Read one more based on the user's category selection:
.arckit/templates/conformance-assessment-template.md.arckit/templates/platform-design-template.md.arckit/templates/evaluation-criteria-template.md.arckit/templates/architecture-strategy-template.mdCreate the template file at .arckit/templates-custom/{name}-template.md.
Template Structure (mandatory elements):
# [DOCUMENT_TYPE]: [PROJECT_NAME]
> **Template Origin**: Community | **Generated By**: `$arckit-template-builder` | **ArcKit Version**: [VERSION]
## Document Control
| Field | Value |
|-------|-------|
| **Document ID** | ARC-[PROJECT_ID]-[TYPE_CODE]-v[VERSION] |
| **Document Type** | [DOCUMENT_TYPE_NAME] |
| **Project** | [PROJECT_NAME] (Project [PROJECT_ID]) |
| **Classification** | [PUBLIC / OFFICIAL / OFFICIAL-SENSITIVE / SECRET] |
| **Status** | [DRAFT / IN_REVIEW / APPROVED / PUBLISHED / SUPERSEDED / ARCHIVED] |
| **Version** | [VERSION] |
| **Created Date** | [YYYY-MM-DD] |
| **Last Modified** | [YYYY-MM-DD] |
| **Review Cycle** | [Monthly / Quarterly / Annual / On-Demand] |
| **Next Review Date** | [YYYY-MM-DD] |
| **Owner** | [OWNER_NAME_AND_ROLE] |
| **Reviewed By** | [REVIEWER_NAME] on [DATE] or [PENDING] |
| **Approved By** | [APPROVER_NAME] on [DATE] or [PENDING] |
| **Distribution** | [DISTRIBUTION_LIST] |
## Revision History
| Version | Date | Author | Changes | Approved By | Approval Date |
|---------|------|--------|---------|-------------|---------------|
| [VERSION] | [DATE] | ArcKit AI | Initial creation from `$arckit-[COMMAND]` command | [PENDING] | [PENDING] |
Body sections — Generate based on interview answers:
Standard footer (always included):
---
**Generated by**: ArcKit `$arckit-template-builder` command
**Generated on**: [DATE]
**ArcKit Version**: [VERSION]
**Project**: [PROJECT_NAME]
**Model**: [AI_MODEL]
TYPE_CODE: Generate a short 3-5 character uppercase code for the document type (e.g., "SECAS" for Security Assessment, "VSCR" for Vendor Scorecard). Ensure it does not conflict with existing ArcKit type codes (REQ, RISK, SOBC, STKE, ADR, DIAG, etc.).
Create a usage guide at .arckit/guides-custom/{name}.md.
Guide Structure:
# {Template Name} Guide
> **Guide Origin**: Community | **Generated By**: `$arckit-template-builder` | **ArcKit Version**: [VERSION]
`$arckit-community-{name}` generates a {brief description of what the template produces}.
---
## Preparation
| Artefact | Why it matters |
|----------|----------------|
| {prerequisite 1} | {why it's needed} |
| {prerequisite 2} | {why it's needed} |
---
## Usage
```text
$arckit-community-{name} {example arguments}
Output: .arckit/templates-custom/{name}-template.md
{Describe each major section of the template and what it covers}
This is a community template. You can:
.arckit/templates-custom/{name}-template.md directlyTo share this template:
.arckit/community/{name}/ (if generated)For official promotion: rename the generated skill if needed, change banner to Template Origin: Official, and open a PR.
### Step 6: Generate Optional Codex Skill
If the user selected "Codex Skill" in Round 2, create `.agents/skills/arckit-community-{name}/SKILL.md`. This location is auto-discovered by Codex as a project-level skill (available as `$arckit-community-{name}`).
**Skill Structure**:
```markdown
---
name: arckit-community-{name}
description: "{Brief description of what this skill generates}"
---
You are generating a {template type} document using a community template.
## User Input
```text
$ARGUMENTS
Identify the target project:
Read the template:
.arckit/templates-custom/{name}-template.mdGenerate the document following the template structure
Write the output to projects/{project-dir}/ARC-{PROJECT_ID}-{TYPE_CODE}-v1.0.md
Show summary only (NOT the full document)
### Step 7: Generate Optional Shareable Bundle
If the user passed `--share` in their arguments, create the bundle directory:
- `.arckit/community/{name}/README.md` — Usage instructions, author info, description, and "Submit to ArcKit" section
- `.arckit/community/{name}/{name}-template.md` — Copy of the template
- `.arckit/community/{name}/{name}.md` — Copy of the usage guide
- `.arckit/community/{name}$arckit-community-{name}.md` — Copy of the skill (if generated)
**README.md for the bundle**:
```markdown
# Community Template: {Template Name}
> **Origin**: Community | **Created with**: ArcKit `$arckit-template-builder`
## Description
{What this template is for and when to use it}
## Installation
Copy the files to your ArcKit project:
- `{name}-template.md` -> `.arckit/templates-custom/`
- `{name}.md` -> `.arckit/guides-custom/`
- `arckit-community-{name}/SKILL.md` -> `.agents/skills/` (optional)
## Submit to ArcKit
To propose this template for official inclusion:
1. Fork [tractorjuice/arc-kit](https://github.com/tractorjuice/arc-kit)
2. Copy template to `.arckit/templates-custom/` and `arckit-claude/templates/`
3. Rename or relocate the community skill if promoting it to an official ArcKit command
4. Change `Template Origin: Community` to `Template Origin: Official`
5. Change `Guide Origin: Community` to `Guide Origin: Official`
6. Add guide to the category map in `arckit-claude/hooks/sync-guides.mjs`
7. Open a PR with description of the template's purpose
After writing all files, show ONLY this summary:
## Template Builder Complete
**Template**: {Template Name}
**Category**: {Category from Round 1}
**Type Code**: {TYPE_CODE}
### Files Created
| File | Location |
|------|----------|
| Template | `.arckit/templates-custom/{name}-template.md` |
| Usage Guide | `.arckit/guides-custom/{name}.md` |
| Codex Skill | `.agents/skills/arckit-community-{name}/SKILL.md` (if selected) |
| Shareable Bundle | `.arckit/community/{name}/` (if selected) |
### Template Sections
- {List of major sections in the generated template}
### How to Use
1. Run `$arckit-community-{name} <project>` to generate a document from this template
2. Or use `$arckit-customize` to copy any official template for lighter customization
### How to Share
- Share the `.arckit/community/{name}/` bundle via Git
- Submit a PR to [tractorjuice/arc-kit](https://github.com/tractorjuice/arc-kit) for official promotion
### Origin Model
| Tier | Description |
|------|-------------|
| **Official** | Shipped with ArcKit — 50+ templates |
| **Custom** | Your modifications of official templates (`$arckit-customize`) |
| **Community** | New templates you create (`$arckit-template-builder`) |
Template Origin: Community bannerGuide Origin: Community bannerarckit-community- prefix (e.g., .agents/skills/arckit-community-security-assessment/SKILL.md)After completing this command, consider running:
$arckit-customize -- Copy and modify existing official templates instead of creating new ones (when User wants to customize an existing template rather than build a new one)tools
Procurement market intelligence — award-value benchmarks, top suppliers, incumbency and concentration, from the UK Tenders MCP
tools
Competitor landscape — rival suppliers, awarded-value market share, head-to-head and concentration, from the UK Tenders MCP
development
[COMMUNITY] Generate a SOCI Act Critical Infrastructure Risk Management Program (CIRMP) governance and evidence pack for Australian critical infrastructure assets.
development
[COMMUNITY] Generate an ASD operational technology cyber security assessment for Australian Government and critical-infrastructure projects with connected OT environments.