# Gaf Task Bootstrapper

> Bootstraps a new GAF automation task in Test with aligned task-definition.md, manifest.yaml, automation-doc.md, runtime entrypoint, and package metadata. Use when creating a new task, registering a draft automation, or starting Phase 1 intake artifacts.

- Skill: `miguel-carrera/gaf-task-bootstrapper` (Agent Skill)
- Install (CLI): `npx skillmds@latest add miguel-carrera/gaf-task-bootstrapper`
- Raw SKILL.md: https://api.skillmd.com/api/skills/miguel-carrera/gaf-task-bootstrapper/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity
- Author: miguel-carrera (https://skillmd.com/u/miguel-carrera)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/miguel-carrera/gaf-task-bootstrapper

---


# GAF Task Bootstrapper

## Goal
Create a consistent `gaf-automations-library/Test/{task_id}` scaffold that matches GAF core-knowledge conventions.

## Use This Skill When
- User asks to create a new automation task.
- User asks to initialize task files from templates.
- Work is at Phase 1 (Intake and Documentation) or early Phase 2.

## Required Inputs
- `task_id` (kebab-case)
- `task_name`
- `owner`
- `complexity_tier` (`SIMPLE`, `MID_COMPLEX`, or `COMPLEX`)
- `primary_storage_dependencies`
- `shared_dependencies`
- runtime (`node` default unless explicitly requested otherwise)

## Workflow
1. Register in catalog via `node scripts/register-task.js <payload.json>` from `gaf-core-knowledge/` (`status: DRAFT`, `environment: test` — location defaults to `Test/{task_id}`). Read `task-catalog.yaml`; do not edit by hand.
2. If storage entities are missing, add them via Brain scripts (`register-storage-node.js`, `register-entity.js`, `update-db-schema.js` per `docs/brain-write-policy.md`).
3. Create `gaf-automations-library/Test/{task_id}`.
4. Create and align:
   - `task-definition.md`
   - `manifest.yaml`
   - `automation-doc.md`
   - runtime entrypoint `run.js` (Node default and required convention)
   - `scripts/` folder for internal subtask/module files invoked by `run.js`
   - `package.json` (if runtime needs local deps/scripts)
5. Ensure identifiers are synchronized across all files:
   - `task_id`
   - status
   - owner
   - version
6. Add TODO markers for unknown values instead of inventing fields.

## Guardrails
- Do not invent undeclared storage nodes/entities.
- Keep runtime self-contained; no runtime reads from `gaf-core-knowledge`.
- Reference published shared libraries (`*_v<n.n.n>`) in `manifest.yaml` for deploy-ready tasks.
- Follow Test-first flow; do not auto-promote to Production (`deploy-task.js` only after validation and user confirmation).

## Output Format
Return:
- files created
- unresolved TODOs requiring user input
- quick checklist for next step (Phase 2 or Phase 3)

