TimePro Skill Generator
Use this skill when changing the generated skills that tp skills create
writes to .agents/skills/*/SKILL.md or .claude/skills/*/SKILL.md.
Start Here
Read docs/skill-generation.md first. It explains the generated skill catalog,
feature gates, template layout, version tracking, and verification expectations.
If the request is for a highly specific diagnostic or report recipe, use the
timepro-guide-curator skill instead and add a guide under
guides/accounting/ or guides/dev/. Keep generated skills for broad,
important workflows users should install and version-track.
Workflow
- Identify whether the change is for default, accounting, developer, tenant,
or environment-comparison generated skills.
- Update packaged Markdown templates under
src/SSW.TimePro.Cli/Features/Skills/Templates/ for prose-heavy changes.
- Update
SkillModelBuilder for catalog membership, feature gates, names,
descriptions, allowed tools, prefetch selection, and skill version.
- Update
SkillBodyBuilder only for dynamic placeholders, template rendering,
or prefetch blocks.
- Update
SkillRenderer only for generated file layout or frontmatter shape.
- Update
SkillVersionService, InfoCommand, or IgnoreVersionCommand only
when version tracking, stale notices, or ignore-version behavior changes.
- Update tests under
tests/SSW.TimePro.Cli.Tests/Features/Skills/ and docs
only when the generated skill catalog or behavior changes.
Rules
- Do not add narrow one-off diagnostics as generated skills. Add indexed guides
instead.
- Keep generated skills portable across
.agents and .claude; both use the
same <root>/skills/<name>/SKILL.md layout.
- Keep examples sanitized with Northwind placeholders only.
- Do not include real client, repo, project, invoice, employee, or incident
details in templates, tests, docs, or generated output.
- Bump
CurrentSkillVersion when generated skill content changes enough that
existing installed skills should show as stale in tp info.
- Preserve feature gates: accounting skills require
tp feature accounting enable; developer skills require
tp feature developer enable.
- Treat legacy
--accounting, --developer, and --dev as startup
interception behavior, not normal tp skills create options.
Verify
Use a temp config/home when testing generated output so local user skill state
does not affect the result.
dotnet test tests/SSW.TimePro.Cli.Tests/
dotnet test tests/SSW.TimePro.Cli.Integration/
git diff --check
TMP_HOME=$(mktemp -d)
DOTNET_CLI_HOME="$TMP_HOME" HOME="$TMP_HOME" \
dotnet run --project src/SSW.TimePro.Cli -- feature accounting enable
DOTNET_CLI_HOME="$TMP_HOME" HOME="$TMP_HOME" \
dotnet run --project src/SSW.TimePro.Cli -- feature developer enable
DOTNET_CLI_HOME="$TMP_HOME" HOME="$TMP_HOME" \
dotnet run --project src/SSW.TimePro.Cli -- skills create "$TMP_HOME/agent-root"
DOTNET_CLI_HOME="$TMP_HOME" HOME="$TMP_HOME" \
dotnet run --project src/SSW.TimePro.Cli -- info --no-update-check --json
1---2name: timepro-skill-generator3description: Add, update, and verify generated TimePro agent skills produced by tp skills create. Use when changing SkillModelBuilder, SkillBodyBuilder, SkillRenderer, SkillVersionService, packaged skill templates, feature-gated generated skills, generated skill versions, or tp info stale-skill behavior.4---56# TimePro Skill Generator78Use this skill when changing the generated skills that `tp skills create`9writes to `.agents/skills/*/SKILL.md` or `.claude/skills/*/SKILL.md`.1011## Start Here1213Read `docs/skill-generation.md` first. It explains the generated skill catalog,14feature gates, template layout, version tracking, and verification expectations.1516If the request is for a highly specific diagnostic or report recipe, use the17`timepro-guide-curator` skill instead and add a guide under18`guides/accounting/` or `guides/dev/`. Keep generated skills for broad,19important workflows users should install and version-track.2021## Workflow22231. Identify whether the change is for default, accounting, developer, tenant,24 or environment-comparison generated skills.252. Update packaged Markdown templates under26 `src/SSW.TimePro.Cli/Features/Skills/Templates/` for prose-heavy changes.273. Update `SkillModelBuilder` for catalog membership, feature gates, names,28 descriptions, allowed tools, prefetch selection, and skill version.294. Update `SkillBodyBuilder` only for dynamic placeholders, template rendering,30 or prefetch blocks.315. Update `SkillRenderer` only for generated file layout or frontmatter shape.326. Update `SkillVersionService`, `InfoCommand`, or `IgnoreVersionCommand` only33 when version tracking, stale notices, or ignore-version behavior changes.347. Update tests under `tests/SSW.TimePro.Cli.Tests/Features/Skills/` and docs35 only when the generated skill catalog or behavior changes.3637## Rules3839- Do not add narrow one-off diagnostics as generated skills. Add indexed guides40 instead.41- Keep generated skills portable across `.agents` and `.claude`; both use the42 same `<root>/skills/<name>/SKILL.md` layout.43- Keep examples sanitized with Northwind placeholders only.44- Do not include real client, repo, project, invoice, employee, or incident45 details in templates, tests, docs, or generated output.46- Bump `CurrentSkillVersion` when generated skill content changes enough that47 existing installed skills should show as stale in `tp info`.48- Preserve feature gates: accounting skills require49 `tp feature accounting enable`; developer skills require50 `tp feature developer enable`.51- Treat legacy `--accounting`, `--developer`, and `--dev` as startup52 interception behavior, not normal `tp skills create` options.5354## Verify5556Use a temp config/home when testing generated output so local user skill state57does not affect the result.5859```bash60dotnet test tests/SSW.TimePro.Cli.Tests/61dotnet test tests/SSW.TimePro.Cli.Integration/62git diff --check6364TMP_HOME=$(mktemp -d)65DOTNET_CLI_HOME="$TMP_HOME" HOME="$TMP_HOME" \66 dotnet run --project src/SSW.TimePro.Cli -- feature accounting enable6768DOTNET_CLI_HOME="$TMP_HOME" HOME="$TMP_HOME" \69 dotnet run --project src/SSW.TimePro.Cli -- feature developer enable7071DOTNET_CLI_HOME="$TMP_HOME" HOME="$TMP_HOME" \72 dotnet run --project src/SSW.TimePro.Cli -- skills create "$TMP_HOME/agent-root"7374DOTNET_CLI_HOME="$TMP_HOME" HOME="$TMP_HOME" \75 dotnet run --project src/SSW.TimePro.Cli -- info --no-update-check --json76```