Install
$ agentstack add skill-louage-frw-agentic-coding-skill-sdd-generate-docs ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Skill: Lean SDD, Generate Docs
Purpose
Generate lightweight documentation artifacts for an AL feature after all AC rows in tasks.md are validated. Output targets:
- Inline AL code, XML doc comments on public procedures (
///) - CHANGELOG.md, one entry in Keep-a-Changelog format
tasks.md, mark the docs task as done
This step is intentionally lean, document only what a future developer or reviewer needs to understand the intent; do not add noise comments on trivial or self-explanatory code.
When to Load
Load when:
- The user says
/speckit.docs, "generate docs", or "document feature" - All AC rows in
tasks.mdare checked - Tests pass (
run-al-testsstep is done)
Prerequisites
specs//tasks.md, all AC rows ✅specs//spec.md, for summary and purpose language- AL source files for the feature are in
app/src/{FeatureName}/
Step 1, Read Context
Read specs//spec.md → feature title, summary, AC list
Read specs//plan.md → implemented objects (file map)
Read app/src/{FeatureName}/ → list AL files to document
> ` is the dated subfolder under specs/SDD/, e.g. specs/SDD/2026-07-08-fleet-registration/`.
Step 2, Add XML Doc Comments to Public Procedures
For every procedure that is public (no local keyword) in the feature's codeunit(s):
///
/// {One-sentence description of what the procedure does.}
///
/// {Description.}
/// {Description of return value, if any.}
procedure {ProcedureName}({ParamName}: {Type}): {ReturnType}
Rules:
- Skip
localprocedures, they are implementation details - Skip trivial getters/setters where the name is fully self-explanatory
- Keep summaries to one sentence; use plain BC terminology
Step 3, Update CHANGELOG.md
If CHANGELOG.md does not exist, create it with the Keep a Changelog format.
Prepend the feature entry under ## [Unreleased]:
## [Unreleased]
### Added
- **{feature-title}**, {one-sentence summary} ([spec](/spec.md>))
### Changed
- {only if an existing behavior was altered}
### Fixed
- {only if a bug was fixed as part of this feature}
Step 4, Update tasks.md Documentation Row
- [x] Docs: XML comments on public procedures ✅
- [x] Docs: CHANGELOG.md updated ✅
What NOT to Document
localprocedures (internal implementation)- Variable declarations (names should be self-explanatory per naming conventions)
- Event subscribers (the event name describes the trigger)
- Test procedures (the Given/When/Then structure is already documentation)
Skills Evidencing
> **Skills loaded**: skill-sdd-generate-docs (docs phase)
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: Louage
- Source: Louage/frw-agentic-coding
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.