Test scaffolding
Skill ComeOnOliver/skillshub/skills/aiskillstore/marketplace/consiliency/test-scaffolding
π§ The right skill, one API call. AI agent skills registry with token-efficient skill resolution. 5,000+ skills from 500+ top repos.
npx -y skills add ComeOnOliver/skillshub --skill test-scaffoldingAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
Generate test file scaffolds from source analysis with language-appropriate templates.
SKILL.md
4.3 KB, as published. Nobody here has run it
Test Scaffolding Skill
Generate test file scaffolds for source files, enabling TDD workflows. Scaffolds contain TODO stubs that the test-engineer agent fills during lane execution.
Variables
| Variable | Default | Description |
|---|---|---|
| SOURCE_FILES | [] | List of source files to scaffold tests for |
| TEST_FRAMEWORK | auto | Framework to use (auto-detects from manifest) |
| OUTPUT_DIR | tests/ | Where to place generated test files |
| NAMING_CONVENTION | language-default | Test file naming pattern |
| INCLUDE_FIXTURES | true | Generate fixture stubs |
| STUB_STYLE | todo | todo (TODO comments) or skip (skip markers) |
Workflow (Mandatory)
- Detect stack: Read package manifest (
pyproject.toml,package.json,go.mod,Cargo.toml) - Identify framework: Match test dependencies (pytest, vitest, jest, testing, cargo test)
- Analyze sources: Extract public functions, classes, methods from each source file
- Map to tests: Apply naming convention to determine test file paths
- Generate scaffolds: Use language template, insert TODO stubs for each testable unit
- Return manifest: JSON with generated files, skipped files, and unit counts
Supported Frameworks
| Language | Frameworks | Detection |
|---|---|---|
| Python | pytest, unittest | pyproject.toml β [tool.pytest] or pytest in deps |
| TypeScript | vitest, jest | package.json β vitest or jest in devDeps |
| JavaScript | vitest, jest | package.json β vitest or jest in devDeps |
| Go | testing | go.mod β built-in testing package |
| Rust | cargo test | Cargo.toml β built-in test harness |
| Dart | flutter_test, test | pubspec.yaml β flutter_test or test in dev_deps |
Naming Conventions
| Language | Source | Test File |
|---|---|---|
| Python | src/auth/login.py | tests/auth/test_login.py |
| TypeScript | src/auth/login.ts | src/auth/login.test.ts or tests/auth/login.test.ts |
| Go | pkg/auth/login.go | pkg/auth/login_test.go |
| Rust | src/auth/login.rs | inline #[cfg(test)] module |
| Dart | lib/auth/login.dart | test/auth/login_test.dart |
Source Analysis Heuristics
Python
- Detect
def function_name(where name doesn't start with_ - Detect
class ClassName:for public classes - Extract method signatures within classes
- Skip
__init__,__str__, etc. (dunder methods)
TypeScript/JavaScript
- Detect
export function,export const,export class - Detect
export default function/class - Parse JSDoc/TSDoc for parameter types
Go
- Detect exported functions (capitalized names)
- Detect exported methods on structs
- Detect exported types
Rust
- Detect
pub fn,pub struct,pub enum - Detect
implblocks with public methods
Output Schema
{
"format": "scaffold-manifest/v1",
"generated_at": "<ISO-8601 UTC>",
"framework": "pytest",
"generated": [
{
"source": "src/auth/login.py",
"test": "tests/auth/test_login.py",
"units": ["login", "logout", "refresh_token"],
"unit_count": 3
}
],
"skipped": [
{
"source": "src/auth/utils.py",
"reason": "test file exists"
}
],
"total_units": 12
}
Red Flags (Stop & Verify)
- No package manifest found β prompt user for framework
- Source file has no public functions β skip with warning
- Test file already exists β skip unless
--forcespecified - Unable to parse source file β log warning, continue with others
Integration Points
With /ai-dev-kit:plan-phase
- Called to auto-populate
Tests Owned Filescolumn - Uses
Owned Artifactsfrom impl tasks as source files
With /ai-dev-kit:execute-lane
- Called before test-engineer agent runs
- Scaffolds committed with
chore(P{n}-{lane}): scaffold test files
With test-engineer agent
- Agent detects TODO markers in scaffolds
- Fills in test implementations
- Removes TODO markers when complete
Provider Notes
- Use this skill when
/ai-dev-kit:scaffold-testsis invoked - Prefer TODO-style stubs over skip markers for visibility
- Preserve source file structure in test organization
- Include proper imports based on detected framework