Agent Skills: Phase 72: OAuth2 Authentication

Template loading, variable filling, and scaffolding for all GSD artifacts. Manages 22+ templates covering every document type in the GSD system, from PROJECT.md to milestone archives.

gsd-coreID: a5c-ai/babysitter/template-scaffolding

Install this agent skill to your local

pnpm dlx add-skill https://github.com/a5c-ai/babysitter/tree/HEAD/library/methodologies/gsd/skills/template-scaffolding

Skill Files

Browse the full folder contents for template-scaffolding.

Download Skill

Loading file tree…

library/methodologies/gsd/skills/template-scaffolding/SKILL.md

Skill Metadata

Name
template-scaffolding
Description
Template loading, variable filling, and scaffolding for all GSD artifacts. Manages 22+ templates covering every document type in the GSD system, from PROJECT.md to milestone archives.

phase: 72 status: planned created: 2026-03-02 template: phase-prompt variant: standard

Phase 72: OAuth2 Authentication

...


### 7. Template Discovery

List available templates:

Available templates: project - Project definition (PROJECT.md) requirements - Requirements specification (REQUIREMENTS.md) roadmap - Development roadmap (ROADMAP.md) state - Project state (STATE.md) context - Phase context (CONTEXT.md) summary - Phase summary (SUMMARY.md) [3 variants] phase-prompt - Phase plan (PLAN.md) ...


### 8. Template Variant Selection

Automatic variant selection based on context:

```javascript
function selectSummaryVariant(context) {
  if (context.isQuickTask) return 'summary-minimal';
  if (context.taskCount <= 3) return 'summary-minimal';
  if (context.taskCount <= 8) return 'summary-standard';
  return 'summary-complex';
}

Tool Use Instructions

Loading and Filling a Template

  1. Use Glob to locate the template file in templates/
  2. Use Read to load the template content
  3. Replace all {{VARIABLE}} placeholders with provided values
  4. Process conditional blocks ({{#if}}...{{/if}}, {{#unless}}...{{/unless}})
  5. Add frontmatter if specified
  6. Use Write to save the filled template to the target path

Batch Generation

  1. Accept list of template-to-target mappings
  2. Load each template, fill variables with shared + per-file data
  3. Write all files, collecting results
  4. Return list of generated files

Template Discovery

  1. Use Glob to find all .md and .json files in templates/
  2. Read first line of each to extract template name/purpose
  3. Return formatted list

Process Integration

  • new-project.js - Batch generate PROJECT.md, REQUIREMENTS.md, ROADMAP.md, STATE.md
  • discuss-phase.js - Generate CONTEXT.md from context template
  • plan-phase.js - Generate PLAN.md files from phase-prompt template
  • verify-work.js - Generate UAT.md from uat template
  • quick.js - Generate plan and summary using minimal variants
  • debug.js - Generate debug session file from debug template
  • complete-milestone.js - Generate milestone archive from milestone-archive template
  • add-tests.js - Generate test plan structure
  • research-phase.js - Generate RESEARCH.md from research template
  • map-codebase.js - Batch generate 7 codebase analysis documents

Output Format

{
  "operation": "fill|batch|discover",
  "status": "success|error",
  "template": "project",
  "variant": "standard",
  "targetPath": ".planning/PROJECT.md",
  "variablesFilled": 12,
  "conditionalsProcessed": 3,
  "generatedFiles": [
    ".planning/PROJECT.md",
    ".planning/REQUIREMENTS.md"
  ]
}

Configuration

| Setting | Default | Description | |---------|---------|-------------| | templatesDir | templates/ | Directory containing template files | | summaryVariant | standard | Default summary variant | | injectFrontmatter | true | Auto-add frontmatter to generated files | | variableDelimiter | {{...}} | Variable placeholder syntax |

Error Handling

| Error | Cause | Resolution | |-------|-------|------------| | Template not found | Template name does not match any file | List available templates, suggest closest match | | Unfilled variable | Variable not provided in data | Use empty string or placeholder marker | | Target path exists | File already at target location | Prompt for overwrite/append/skip | | Invalid conditional | Malformed if/unless block | Fix template syntax | | Batch partial failure | Some files in batch failed | Report which succeeded and which failed |

Constraints

  • Templates must be idempotent (filling same template with same data produces same output)
  • Never modify template source files; only read them
  • Generated files must be valid markdown (or JSON for config.json)
  • Variable names must be uppercase with underscores only
  • Conditional blocks must be properly nested and closed
  • Batch operations are all-or-nothing within a single process call