Generate skill
Config-driven SDLC skills for coding agents: task flow, releases, debugging, and security triage.
npx -y skills add vecten/sdlc-toolkit --skill generate-skillAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Scaffold a new skill for the sdlc-toolkit plugin with config awareness, proper structure, and consistency with existing skills. Use when the user says "create skill", "new skill", "generate skill", "add a skill to sdlc-toolkit", or wants to turn a workflow into a reusable skill.
SKILL.md
7.4 KB, as published. Nobody here has run it
Generate Skill
Scaffold a new skill that fits into the sdlc-toolkit plugin. The generated skill follows the same conventions as existing skills: config-driven, composable, and structured for both humans and AI agents.
Guardrails
- Always review existing sdlc-toolkit skills before generating to maintain consistency.
- Always check
skills-config.yamlto understand what config sections exist. - Keep SKILL.md under 500 lines. Use
references/for detailed docs. - Never duplicate workflow steps that already exist in another skill — compose instead.
- Ask the user before writing any files.
Workflow
Step 1 — Gather requirements
Collect from the user:
- Purpose: What specific task or workflow should this skill automate?
- Trigger phrases: When should the agent activate this skill? (e.g., "deploy staging", "review PR")
- MCP tools needed: Which integrations? (Linear, Slack, Sentry, Notion, GitHub, or none)
- Config dependency: Does this skill need to read from
skills-config.yaml? Which sections? - Composability: Does it hand off to or receive from existing skills? (start-task, finish-task, etc.)
- Target location: Plugin only (
agent-toolkit/plugins/sdlc-toolkit/skills/) or also local workspace (.cursor/skills/)?
If the user provides a workflow description or conversation context, infer answers and confirm.
Step 2 — Review existing skills for patterns
Before writing, read at least 2 existing sdlc-toolkit skills to match:
- Frontmatter format (
name,descriptionwith trigger phrases) - Config dependency section placement and wording
- Workflow step numbering and heading style
- Safety rules section structure
- Output format section
Existing skills to use as reference:
start-task— good example of config-driven repo detection and PM tool integrationfinish-task— good example of multi-step workflow with conditional Slack notificationscreate-ticket— good example of config-driven defaults and structured outputbootstrap-config— good example of auto-detection and user confirmation flow
Step 3 — Review config schema
Read skills-config.yaml (or references/skills-config-example.yaml from this plugin) to understand:
- Available config sections:
repos,git,linear,slack,testing,notion,release_email - Each section's
custom_inputarea for free-form instructions - How skills reference config keys (e.g.,
git.branches.<repo>.dev)
Determine which config keys the new skill needs. If it needs a config section that doesn't exist yet, propose adding it to the schema and flag it for a bootstrap-config update.
Step 4 — Draft the skill
Generate the SKILL.md following this template:
---
name: <skill-name>
description: >
<What it does, 1-2 sentences>. Use when the user says <trigger phrase 1>,
<trigger phrase 2>, or <trigger phrase 3>.
---
# <Skill Title>
<1-2 sentence overview of what this skill does.>
## Config dependency
Read `<workspace>/.cursor/skills-config.yaml` before acting. If missing,
tell the user to run `bootstrap-config` first.
Required config keys:
- `<section.key>` — <what it's used for>
[Only include this section if the skill reads from config.
If the skill works without config, say "This skill works without config
but benefits from it." and list optional keys.]
## Guardrails
1. <safety rule>
2. <safety rule>
## Required Inputs
<What the user must provide.>
## Workflow
### Step 1 — <action>
<instructions>
### Step 2 — <action>
<instructions>
[Continue as needed]
## Safety Rules
- <rule>
- <rule>
## Output format
<What the skill returns to the user when done.>
Step 5 — Check composability
Before finalizing, verify:
- Does this skill duplicate steps from
start-task,finish-task,create-ticket, orcreate-release?- If yes, remove the duplicated steps and add a hand-off: "use the
<skill>skill for this step."
- If yes, remove the duplicated steps and add a hand-off: "use the
- Does this skill introduce new config keys?
- If yes, document them and note that
bootstrap-configandreferences/skills-config-example.yamlneed updating.
- If yes, document them and note that
- Could existing skills benefit from calling this new skill?
- If yes, note which skills should add a hand-off reference.
Step 6 — Present for review
Show the user:
- The full SKILL.md content.
- Where it will be written:
- Plugin:
plugins/sdlc-toolkit/skills/<name>/SKILL.md - Local (if requested):
.cursor/skills/<name>/SKILL.md
- Plugin:
- Any config schema changes needed.
- Any catalog.json / README updates needed.
- Any existing skills that should be updated to reference this one.
Ask: "Does this look right? Any changes before I write it?"
Step 7 — Write and register
After user confirms:
- Write
SKILL.mdto the skill directory. - Write any
references/files if needed. - If writing to the plugin repo, update:
catalog.json— add a new skill entryREADME.md— add to the skills table
- If writing to the local workspace, copy the file to
.cursor/skills/<name>/SKILL.md. - If new config keys were introduced, update:
references/skills-config-example.yamlbootstrap-config/SKILL.md(add detection/prompt for the new section)- The workspace
skills-config.yaml(add the new section with defaults)
Step 8 — Verify
After writing:
- Confirm the SKILL.md is under 500 lines.
- Confirm frontmatter
nameuses lowercase letters, numbers, and hyphens only (max 64 chars). - Confirm
descriptionincludes trigger phrases (max 1024 chars). - If in the plugin repo, run
node bin/validate-catalog.jsto verify catalog integrity. - Report what was created and any follow-up actions needed.
Conventions reference
- Naming: lowercase, hyphen-separated, 2-4 words, action-first
<verb>-<noun>. No tool vendor names unless disambiguation is needed. - Size limit: keep SKILL.md under 500 lines. Move detailed docs to
references/. - No trigger examples section: trigger phrases belong only in the frontmatter
descriptionfield. - No duplicated instructions: do not repeat in Safety Rules what is already stated in a Workflow Step. Each instruction should exist in exactly one place.
- Conciseness: prefer tables over verbose sub-bullet lists for structured options (e.g., metadata fields with defaults).
- Deterministic logic to scripts/: move deterministic shell sequences to
scripts/instead of inlining multi-step bash in the skill. The skill should call the script and handle errors. - Concise hand-offs: when composing with other skills, keep the hand-off brief (1-2 lines). The target skill handles its own logic.
- No generic MCP hygiene per skill: rules like "use X tool only", "read schema first", "don't hardcode IDs" should not repeat in every skill.
- Tool parameterization: reference
pm_tool/knowledge_base_toolconfig keys. Use "the configured PM tool" in prose instead of hardcoding vendor names like "Linear" or "Notion".
All other structural patterns (step numbering, safety rules format, output format, config dependency placement) should be inferred from reading the 2+ sibling skills in Step 2.