Steering Specs Generator

VerifiedSafe

Guides users through context-aware interviews to capture tacit engineering knowledge and outputs structured steerings (Intent, Rules, Practices, Meta). Supports predefined topic packs for 8 common areas or custom topics, and can resume incomplete sessions. Also reviews and transforms existing steerings to the standard format.

Sby Skills Guide Bot
DocumentationIntermediate
6/2/2026
Claude Code
#knowledge-management#engineering-conventions#tacit-knowledge#steerings#interview

Recommended for

Automated summary

Conducts context-aware interviews to extract tacit engineering knowledge and generate structured, agent-readable steerings.

Strengths

  • Systematic capture of team conventions and practices
  • Standardized format (Intent → Rules → Practices → Meta)
  • Automatic resumption of incomplete sessions

Limitations

  • Requires active human participation for interviews
  • Quality depends on the clarity of user responses
When to use it

To document team conventions, technical practices, or tacit knowledge in an agent-readable format.

When not to use it

For content already formalized in existing documents that only need format conversion.

Security analysis

Safe
Quality score90/100

The skill only uses Read, Write, AskUserQuestion, Glob, and Task tools, with no execution of arbitrary commands or network access. It documents engineering practices through interviews and writes files locally. There are no destructive or exfiltrating actions.

No concerns found

How this analysis is made

Examples

Generate steerings for a project
I need to create steerings for our team's coding conventions and testing practices.
Continue an interrupted interview
Continue steerings session from where we left off last time.
Review existing steerings
Review and transform my current steerings files to match the standard format.

name: steering-specs-generator description: Extract tacit engineering knowledge through guided interviews and generate structured steerings. Use when user mentions "steerings", "tacit knowledge", "conventions", "engineering practices", "interview", or wants to document team/project knowledge. Also activates when user asks for "steerings for X", "document X conventions", "continue steerings", "resume interview", or wants to extract knowledge about a specific topic. Supports reviewing and transforming existing steerings to standard format. Auto-detects existing sessions and offers to continue incomplete ones. allowed-tools: Read, Write, AskUserQuestion, Glob, Task

Steering Specs Generator

Conducts context-aware interviews to extract tacit engineering knowledge and generate agent-readable steerings. Format: Intent (Why) → Rules (What) → Practices (How) → Meta.

Supports predefined packs (8 areas) and custom topics (user-specified).

Flow overview: See flow-diagram.md for visual representation.

Prerequisites

Mode Selection

| Keywords | Mode | |----------|------| | "review steerings", "transform steerings", "fix format" | → Review Mode (Step R) | | "continue steerings", "continue session", "resume interview" | → Interview Mode (Step 0) with session check | | "steerings", "tacit knowledge", "interview", "conventions" | → Interview Mode (Step 0) |


Interview Flow

Step 0: Check for Existing Sessions

Before configuring paths, check if sessions already exist in the repo:

  1. Scan common session directories:

    • .sessions/
    • sessions/
    • docs/sessions/
  2. If sessions found, present AskUserQuestion:

questions:
  - question: "Found existing session(s). Continue or start fresh?"
    header: "Session"
    options:
      - label: "Continue {sessionId}"
        description: "Resume incomplete session ({N} of {M} packs done)"
      - label: "Start new session"
        description: "Create fresh session with new ID"
  1. If continuing existing session:

    • Set sessionsPath to parent directory of found session
    • Set sessionId to selected session name
    • Scan {sessionsPath}{sessionId}/ for completed pack files
    • Completed pack detection: A pack is complete if:
      • File {packId}.md exists AND
      • Contains ## Interview section with at least one ### Q entry
    • Store completedPacks[] list (pack IDs to skip)
    • Read explore-docs-conventions.md and explore-repo-context.md paths if they exist
    • Skip to Step 3 (Pack Interview Loop), filtering out completed packs
  2. If starting new or no sessions found → Continue to Step 0a

Step 0a: Configure Output Paths

Ask user to confirm paths using AskUserQuestion:

questions:
  - question: "Where should steering files be saved?"
    header: "Steerings"
    options: ["./steerings/", "docs/steerings/", ".memory-bank/steerings/", "Custom"]
  - question: "Where should session files be saved?"
    header: "Sessions"
    options: ["./sessions/", ".sessions/", "docs/sessions/", "Custom"]
  - question: "Where should action items be saved?"
    header: "Backlog"
    options: ["./backlog/", "Same as steerings parent", ".backlog/", "Custom"]

Store: steeringsPath, sessionsPath, backlogPath. Create directories if needed.

Defaults: steerings/, sessions/, backlog/

Step 0b: Generate sessionId - short words id

Step 1: Define Topics

Custom topic detected (patterns: "steerings for X", "document X conventions"):

  • If clear → Generate packId, packName, packType: "custom", customTopicDescription
  • If broad → Clarify with AskUserQuestion (aspects, level, scope)

No custom topic → Present 8 predefined packs as multi-select:

| Pack | ID | |------|----| | Codebase Topology & Ownership | codebase-topology-ownership | | Architecture & Design Invariants | architecture-design-invariants | | Business Domain Contracts | business-domain-contracts | | Quality & Style Assurance | quality-style-assurance | | Testing & Verification Strategy | testing-verification-strategy | | Risk & Historical Landmines | risk-historical-landmines | | Security, Data & Compliance | security-data-compliance | | Delivery Lifecycle & Change Flow | delivery-lifecycle-change-flow |

Step 2: Discovery (Parallel Explore)

Run TWO Explore agents in parallel. Each writes report to {sessionsPath}{sessionId} and returns path.

Explore #1 - Docs & Conventions:

Analyze repository for: steering files, CONVENTIONS.md, ARCHITECTURE.md,
CLAUDE.md, README conventions, eslint/prettier/tsconfig.

OUTPUT: Write to `{sessionsPath}{sessionId}/explore-docs-conventions.md`, return path.

Explore #2 - Repo Context:

Analyze: project purpose, tech stack, directory structure, main modules, patterns.

OUTPUT: Write to `{sessionsPath}{sessionId}/explore-repo-context.md`, return path.

Capture paths: docsConventionsReportPath, repoContextReportPath

Step 3: Pack Interview Loop

Filter packs: If completedPacks[] exists (from session continuation), exclude those pack IDs from processing.

Show progress when continuing:

Continuing session: {sessionId}
✅ Completed: {completedPacks.join(', ')}
⏳ Remaining: {remainingPacks.join(', ')}

Spawn a Task agent per pack (only sequentally, do not run in parallel).

subagent_type: "general-purpose"
description: "Interview for {packName}"
prompt: |
  Conduct interview for a single pack and save results.

  ## Pack Info
  - Pack ID: {packId}
  - Pack Name: {packName}
  - Pack Type: {packType}  # "predefined" or "custom"
  - Custom Description: {customTopicDescription}  # only if custom

  ## Context Files
  - Pack Reference: .claude/skills/steering-specs-generator/pack-reference.md
  - Repo Context: {repoContextReportPath}
  - Docs & Conventions: {docsConventionsReportPath}

  ## Output
  - Path: {sessionsPath}{sessionId}/{packId}.md

  ## Instructions

  ### 1. Read Context
  Read pack-reference.md to get:
  - Explore prompt template for this pack
  - Question themes for this pack

  Read repoContextReportPath and docsConventionsReportPath for grounding.

  ### 2. Topic-Specific Explore (Step 4)
  Run Explore agent using pack's template prompt.
  For custom packs: generate prompt from customTopicDescription.

  ### 3. Generate Questions (Step 5)
  Question count:
  - Predefined: 5
  - Custom (narrow): 3-4
  - Custom (medium): 5
  - Custom (broad): 6-7

  Guidelines:
  - Ground in Explore findings + existing docs
  - Reference actual code: "I see X in Y file..."
  - Ask about conventions, not roadmap
  - Offer 4 options (A/B/C/D)
  - Mark one as "⭐ Recommended" at end of description

  Pattern:
  Q: I found {finding}. How should {convention question}?
  A) {Option} — {rationale}
  B) {Option} — {rationale} ⭐ Recommended
  C) {Option} — {rationale}
  D) {Option} — {rationale}

  ### 4. Conduct Interview (Step 6)
  Present via AskUserQuestion (max 4 per call).

  ### 5. Classify Responses (Step 6.5)
  For each response, classify as:
  - CONVENTION: Timeless, future-focused ("When implementing X, do Y")
  - ACTION_ITEM: Temporal, fixes current state ("Replace X", "Fix X")

  ### 6. Save Results
  Write to {sessionsPath}{sessionId}/{packId}.md

Session structure:

{sessionsPath}
└── {sessionId}/
    ├── codebase-topology-ownership.md
    ├── architecture-design-invariants.md
    ├── {custom-pack-id}.md
    └── ...

Pack file format:

# {Pack Name}
**Pack ID:** {id}

## Explore Findings
{summary of topic-specific exploration}

## Interview

### Q1: {Short question summary}
**Selected:** {Selected option text}
**Notes:** {User's additional context, if any}
**Classification:** CONVENTION | ACTION_ITEM

### Q2: ...

Step 4: Await Pack Interviews

Wait for all pack interview agents to complete. Each writes its results to {sessionsPath}{sessionId}/{packId}.md with classifications already included.

Step 5: Generate Outputs

Delegate to general-purpose subagent, choose Opus model:

subagent_type: "general-purpose"
description: "Generate steerings and action items"
prompt: |
  Generate steerings AND action items from interview sessions.

  Session directory: {sessionsPath}{sessionId}/
  (contains one .md file per pack with classifications)

  Docs report: {docsConventionsReportPath}
  Repo report: {repoContextReportPath}
  Template: .claude/skills/steering-specs-generator/steering-template.md

  Output paths: {steeringsPath}, {backlogPath}

  Instructions:
  1. Read all pack files from session directory
  2. Extract CONVENTION items → generate steering files
  3. Extract ACTION_ITEM items → generate backlog file
  4. Generate index.md for steerings

Steering filenames:

| Pack ID | Filename | |---------|----------| | codebase-topology-ownership | code-ownership.md | | architecture-design-invariants | architecture-invariants.md | | business-domain-contracts | domain-invariants.md | | quality-style-assurance | quality-and-style.md | | testing-verification-strategy | testing-strategy.md | | risk-historical-landmines | risk-registry.md | | security-data-compliance | security-and-compliance.md | | delivery-lifecycle-change-flow | delivery-lifecycle.md | | {custom-pack-id} | {custom-pack-id}.md |

Rule style:

  • ✅ "When implementing X, do Y" / "Use X for Y" / "New features require X"
  • ❌ "Proactively refactor X" / "Continue using X" / "Add X to existing code"

Action items file: {backlogPath}steering-specs-action-items.md

Severity: 🔴 CRITICAL (data loss, security) → 🟡 HIGH → 🟢 MEDIUM → 🔵 LOW → ⏸️ DEFERRED

Step 6: Present Results

Generated steerings:
- {steeringsPath}*.md (N rules, M practices each)
- {steeringsPath}index.md

Action Items: {backlogPath}steering-specs-action-items.md
- 🔴 Critical: N | 🟡 High: N | 🟢 Medium: N

Session: {sessionsPath}{sessionId}/
- {packId-1}.md
- {packId-2}.md
- ...

Review Mode (Step R)

Transform existing steerings to standard format.

R1: Locate Steerings

Auto-detect or ask: steerings/, docs/steerings/, .steerings/

R2: Analyze with Explore

subagent_type: "Explore"
prompt: |
  Analyze steering files in {steeringsPath}:
  - Structure: Intent → Rules → Practices → Meta?
  - Rules: numbered, prescriptive, no metadata?
  - Code examples: 5-15 lines?
  - File size: <200 lines?

  Report compliant vs non-compliant files with specific issues.

R3: Present Summary

✅ Compliant: file1.md, file2.md
⚠️ Need transformation:
- file3.md: Missing Intent, verbose rules
- file4.md: Code examples too long

R4: Ask Action

Options: Transform all | Transform specific | Backup and transform | Plan only | Skip

R5: Transform

Delegate to general-purpose subagent with transformation guidelines from steering-template.md.

R6: Present Results

Show changes per file, regenerate index.md.


Quick Reference

Activation keywords: steerings, tacit knowledge, interview, conventions, "steerings for X", "continue steerings"

Session continuation: Auto-detects existing sessions in .sessions/, sessions/, docs/sessions/. Offers to resume incomplete sessions, skipping completed packs.

8 Predefined Packs: Topology, Architecture, Domain, Quality, Testing, Risk, Security, Delivery

Output format: Intent (1 sentence) → Rules (numbered) → Practices (heading + explanation) → Meta

Files generated:

  • {steeringsPath}*.md — Steering files
  • {steeringsPath}index.md — Table of contents
  • {backlogPath}steering-specs-action-items.md — Action items
  • {sessionsPath}{sessionId}/{packId}.md — Interview responses per pack
  • {sessionsPath}explore-*.md — Discovery reports

Reference files:

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/steering-specs-generator-mm5t8c8w/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/steering-specs-generator-mm5t8c8w' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/steering-specs-generator-mm5t8c8w/download' --output '.skill-downloads/steering-specs-generator-mm5t8c8w/SKILL.md.part' && mv '.skill-downloads/steering-specs-generator-mm5t8c8w/SKILL.md.part' '.skill-downloads/steering-specs-generator-mm5t8c8w/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

Tools declared by the author (check availability in your agent): Read, Write, AskUserQuestion, Glob, Task

Original excerpt: Prerequisites

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.

Claude Code
test -f '.skill-downloads/steering-specs-generator-mm5t8c8w/SKILL.md' && test -s '.skill-downloads/steering-specs-generator-mm5t8c8w/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/steering-specs-generator' && cp -R '.skill-downloads/steering-specs-generator-mm5t8c8w' '.claude/skills/steering-specs-generator'

OpenSkills

OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.

Official OpenSkills installation
openskills install './.skill-downloads/steering-specs-generator-mm5t8c8w'

openskills read 'steering-specs-generator-mm5t8c8w'

Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.

For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.

openskills sync

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/steering-specs-generator-mm5t8c8w/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills