/**
 * skill-author/skill-template.mjs — C4 SKILL.md stub renderer.
 *
 * Pure function. Returns a SKILL.md string with all REQUIRED_SECTIONS
 * (and the two SOFT_REQUIRED_SECTIONS) pre-populated as TODO stubs.
 * The generated file is structurally valid — it passes the validator —
 * but semantically empty. The author fills in the TODOs.
 */
/**
 * @param {{ name: string, description: string }} opts
 *   - name: the kebab slug AFTER `apt:` (e.g. "foo", "author-skill")
 *   - description: short skill description
 * @returns {string} full SKILL.md contents
 */
export function renderSkillStub({ name, description }) {
    const fullName = `apt:${name}`;
    return `---
name: ${fullName}
description: ${description}
stage: execute
intent: implement
when_to_use: "TODO: one-sentence trigger heuristic for the host LLM."
user_invocable: true
internal: false
spawns_agent: false
agent_name: null
task_context: create-new  # one of: create-new | require-existing | self-managed | none — see packages/framework/docs/skill-passthrough.md
default_execution_mode: auto
execution_modes:
  - auto
  - step
allowed-tools: "Read, Grep, Glob"
argument-hint: "${fullName} [args]"
gates: []
triggers:
  - /${fullName}
  - ${fullName}
---
<objective>
TODO: one-paragraph statement of what this skill does and when to use it.
</objective>

<your_environment>
- **Working directory:** The project root (where you were invoked)
- **apt-tools path:** \`node packages/framework/bin/apt-tools.mjs\`
- **Constitution:** Read \`AGENTS.md\` in the project root if it exists
- TODO: list every file/env var this skill reads
</your_environment>

<state_files>
## State Files

**Reads:**
- TODO: list every file this skill reads

**Writes:**
- TODO: list every file this skill writes (including transient artifacts)
</state_files>

<rationalization>
TODO: for each "I'll skip X because Y" pattern an agent might rationalize,
document why skipping is wrong. See packages/framework/skills/apt-discuss/
examples/rationalization-example.md for the pattern.
</rationalization>

<autonomy_interaction>
TODO: describe how this skill respects the autonomy level in .aperant/config.json.
At autonomy 0 (plan-only) the skill should not mutate files; at autonomy 1 it
asks before destructive actions; at autonomy 2 it runs fully automatic.
</autonomy_interaction>

<process>

## 1. Load Context

TODO: what does the skill read before it does anything? AGENTS.md,
.aperant/standards/*.md, task-dir artifacts, $ARGUMENTS?

## 2. Do The Work

TODO: the core behavior. Concrete steps — not "think about X", but
"read file Y, apply transform Z, write file W".

## 3. Report and What's Next

TODO: what does the skill print on success? What's the recommended
next step the user should invoke?

</process>
`;
}
//# sourceMappingURL=skill-template.mjs.map