<< All versions

Skill v1.0.0

currentTrusted Publisher100/100
microsoft/devsquad-copilot/init-docs
──Details
PublishedOctober 20, 2026 at 08:25 AM
Content Hashsha256:1c9bbc229fd31408...
Git SHA
──Files
Files (1 file, 2.7 KB)
SKILL.md2.7 KBactive
SKILL.md · 78 lines · 2.7 KB

version: "1.0.0" name: init-docs description: "Verify and create SDD Framework documentation templates (feature spec, migration spec, envisioning, ADR templates). Use when initializing a project or checking if documentation templates are up to date. Do not use for configuration files (use init-config) or community files (use init-scaffold)."


Init Docs

Manage 4 SDD Framework documentation templates.

Managed Files

FilePurpose
docs/features/TEMPLATE.mdFeature specification template
docs/migrations/TEMPLATE.mdMigration specification template
docs/envisioning/TEMPLATE.mdEnvisioning document template
docs/architecture/decisions/ADR-TEMPLATE.mdArchitecture Decision Record template

Important Constraints

NEVER create, copy, or recreate files under .github/plugins/. The plugin folder is managed externally. If sdd-init.sh cannot be located via the discovery snippet below, inform the user to install/update the plugin.

Locating sdd-init.sh

The plugin can be installed in several locations (workspace, runtime env vars, ~/.vscode/agent-plugins/..., ~/.copilot/agent-plugins/...). Use the locate-sdd-init.sh helper to resolve the absolute path of sdd-init.sh once, then reuse it in every subsequent command. The discovery snippet:

bash
for h in \
.github/plugins/devsquad/hooks/locate-sdd-init.sh \
"${COPILOT_PLUGIN_ROOT:-}/hooks/locate-sdd-init.sh" \
"${CLAUDE_PLUGIN_ROOT:-}/hooks/locate-sdd-init.sh" \
"$HOME/.vscode/agent-plugins/github.com/microsoft/devsquad-copilot/.github/plugins/devsquad/hooks/locate-sdd-init.sh" \
"$HOME/.copilot/agent-plugins/github.com/microsoft/devsquad-copilot/.github/plugins/devsquad/hooks/locate-sdd-init.sh" \
"$HOME/.copilot/installed-plugins/devsquad-copilot/devsquad/hooks/locate-sdd-init.sh"; do
if [ -n "$h" ] && [ -f "$h" ]; then
SDD_INIT="$("$h" 2>/dev/null || true)"
[ -n "$SDD_INIT" ] && [ -f "$SDD_INIT" ] && { echo "FOUND: $SDD_INIT"; exit 0; }
fi
done
echo "MISSING"
exit 1

Capture the absolute path printed after FOUND: and substitute it for <SDD_INIT> in every command below. Bash variables do not persist across tool calls, so use the literal path string.

Verification Mode

bash
<SDD_INIT> verify

Parse the JSON output. Each entry in docs has file, status (up-to-date, outdated, missing), and optionally summary.

Creation Mode

To create or update specific files:

bash
<SDD_INIT> create <target-path>

For bulk operations:

bash
# Create only missing files
<SDD_INIT> create-missing
# Create missing + overwrite outdated
<SDD_INIT> update-all

To show a diff for an outdated file:

bash
<SDD_INIT> diff <target-path>
All versions