framework/claude/skills/sdd-steering/SKILL.md
--- name: sdd-steering description: Set up project-wide context (create, update, delete, custom) allowed-tools: Bash, Glob, Grep, Read, Write, Edit, Skill argument-hint: [-y] [custom] --- # SDD Steering (Unified) <instructions> ## Core Task Manage project steering documents. Lead handles directly (no SubAgent dispatch needed) since it requires user interaction. **Before any steering operation**, read `{{SDD_DIR}}/settings/rules/agent/steering-principles.md` and apply its principles (content
npx skillsauth add sync-dev-org/sync-sdd framework/claude/skills/sdd-steeringInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Manage project steering documents. Lead handles directly (no SubAgent dispatch needed) since it requires user interaction.
Before any steering operation, read {{SDD_DIR}}/settings/rules/agent/steering-principles.md and apply its principles (content granularity, security, quality standards, preservation rules) throughout.
$ARGUMENTS = "custom" → Custom steering creation
$ARGUMENTS = "-y" → Auto-approve update mode
$ARGUMENTS = "" → Auto-detect (create if missing, update if exists)
{{SDD_DIR}}/project/steering/:
product.md, tech.md, structure.md*.md excluding core files)Execute full steering creation:
Ask about codebase analysis preference
If selected: Scan project structure, extract patterns, tech stack
Language profile selection:
a. Read available profiles from {{SDD_DIR}}/settings/profiles/ (exclude _index.md)
b. If codebase analysis detected a language → suggest the matching profile
c. Present options: available profiles + "None (fully manual)"
d. Selected profile pre-fills tech.md and structure.md values (type safety, code quality, testing, naming, imports, commands)
6-question dialogue (profile answers pre-filled where applicable; user can override):
Generate steering files from templates in {{SDD_DIR}}/settings/templates/steering/
5a. Environment setup (Python profile selected):
If pyproject.toml exists: read and verify alignment with tech stack decisions (core deps, test tools, linters).
If pyproject.toml does not exist: create it with project metadata from dialogue, core dependencies from tech stack decisions, dev dependency group (test tools + linters + formatters + ALL extras), and extras groups for optional packages (if discussed).
Run install command from # Install: line to create/update virtual environment. If # Install: line is empty or not found in tech.md, skip and warn user: "No install command configured in tech.md."
Principle: dev environment = all dependencies installed. Extras are for end-user selective installation; developers always have everything.
Pitfalls transfer: If the selected profile has a ## Known Pitfalls section, scan the project's dependencies (pyproject.toml, package.json, or equivalent) and transfer only the pitfall entries whose library/topic matches the project's actual dependencies into tech.md ## Pitfalls. Omit pitfall groups for libraries/topics not used by the project.
Apply profile suggestions: If a profile was selected, inform user of recommended Bash permissions for settings.json (from profile's Suggested Permissions section)
Initialize User Intent in product.md:
Present summary (include which profile was applied, if any)
Publish pipeline offer (Python profile only):
If the selected profile is python, ask the user if they plan to publish this package to PyPI. If yes, run the following pre-flight checks before invoking /sdd-publish-setup:
a. Git remote: git remote get-url origin — if no remote, inform user and skip (publish setup requires a GitHub remote)
b. Existing CI/CD: Check if .github/workflows/publish.yml (or any *.yml with pypi or publish in the filename/content) already exists. If found, inform user and skip ("Publish workflow already exists")
c. PyPI name availability: Read [project] name from pyproject.toml. Run curl -s -o /dev/null -w '%{http_code}' https://pypi.org/pypi/{name}/json — if HTTP 200, the name is already taken (warn user: "Package name '{name}' already exists on PyPI. You may need to choose a different name or verify you own it"). If HTTP 404, the name is available (good). If no pyproject.toml or no name field, skip this check
d. If all checks pass (or user acknowledges warnings), invoke /sdd-publish-setup via Skill tool
If the user declines PyPI publish, skip entirely.
{{SDD_DIR}}/session/handover.mdcustom argument){{SDD_DIR}}/settings/templates/steering-custom/:
api-standards.md, authentication.md, database.md, deployment.md, error-handling.md, security.md, testing.md, ui.md{{SDD_DIR}}/project/steering/{topic}.md{{SDD_DIR}}/session/handover.md/sdd-roadmap design "description" or /sdd-roadmap createtools
--- name: sdd-status description: Check progress and analyze downstream impact allowed-tools: Read, Glob, Grep argument-hint: [feature-name] [--impact] --- # SDD Status (Unified) <instructions> ## Core Task Display comprehensive status for specifications and optionally analyze downstream impact of changes. Lead handles directly (read-only, no SubAgent needed). ## Step 1: Parse Arguments ``` $ARGUMENTS = "" → Overall roadmap + all specs progress $ARGUMENTS = "{feature}"
tools
Session start — invoke on "再開", "continue", "resume", or at every session start
content-media
Unified spec lifecycle (design, impl, review, roadmap management)
development
Unified review pipeline for design, impl, and dead-code reviews