Skip to content
Back to skills

Initialize Tdd

ASecurity

Use when the user asks to initialize a brand-new TDD project. Do not use for adding TDD to an existing project.

  • 4 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 2, 2026
ai-agentspythongitsecuritydocumentation

Security analysis

A100/100

Pro scans all 18 files and shows the line behind each finding

Scanned September 20, 2026

npx -y skills add MoeenNehzati/famulus --skill initialize-tdd --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Initialize Tdd?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Initialize Tdd
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/moeennehzati-initialize-tdd/badge)](https://www.skillsdirectory.com/skills/moeennehzati-initialize-tdd)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: initialize-tdd
description: >-
  Use when the user asks to initialize a brand-new TDD project. Do not use for adding TDD to an existing project.
---


<!-- BEGIN BLUEPRINT INTERFACES -->
> Generated from `blueprint.yaml`. Do not edit this block by hand.

Executable Interfaces:

Send the required `caller` (caller skill), `interface`, `version`, and `arguments`; optional `dry_run` defaults to false. Compact uses ordered `positionals` plus an option mapping; ordered raw argv uses `positionals: []` plus every argv token in list `options`. Never mix forms.
- `initialize-tdd._rtx.interface.setup-compat-aliases` — Create every host compatibility alias symlink (e.g. a legacy filename some host looks for specifically) in a freshly scaffolded project directory.
  - Caller: `initialize-tdd`
  - Version: 1
  - Security level: 2
  - Alternative: `default`
    Arguments JSON (replace labels with actual values). Omit optional positionals and options that are not needed.
    {"options": {}, "positionals": ["project-dir"], "stdin": null}
    Required options: []; positional arity: 1..1; stdin: forbidden

<!-- END BLUEPRINT INTERFACES -->
# Initialize TDD Project

Require the human-readable project name and implementation language before
creating anything. Derive the directory slug by lowercasing the name, replacing
spaces and underscores with hyphens, and removing characters outside
`[a-z0-9-]`. Create the slug directory in the caller's current working
directory. Reuse it only when it is empty; ask before proceeding when it is
nonempty, and never overwrite existing work.

## Select and render the scaffold

Copy all `assets/common/` content first.
Preserve the assets' staged design-and-stubs, tests, implementation, and
documentation workflow and its approval gates; render placeholders, but do not
rewrite that workflow.

For Python, overlay all `assets/python/` content, append its `.gitignore` to the
common one rather than replacing it, and make the copied bootstrap asset
executable. Keep the import package named `project`; only the distribution name
and document titles vary by project. Do not create `.env` or `.testenv`: the
generated modules use `LOG_LEVEL=INFO` and `LOG_DIR=logs` defaults when those
files are absent.

For any other language, keep the generic scaffold, add obvious build and
dependency exclusions, and adapt the generated project-conventions section
only where the requested language has clear idioms. Tell the user that this is
a best-effort generic scaffold: it does not include the Python environment,
logger, configuration modules, or starter tests.

After selecting the assets, replace `{{PROJECT_NAME}}` in every copied text
file with the name exactly as supplied and replace `{{PACKAGE_DIST_NAME}}` with
the slug wherever it appears.

## Finalize and verify

1. Invoke `initialize-tdd._rtx.interface.setup-compat-aliases` with the scaffolded
   project directory and require successful alias state before continuing.
2. Initialize Git inside the project directory without creating a commit.
3. For Python, run the copied bootstrap asset to create the virtual environment
   and install the declared dependencies. If its interpreter assumption does
   not fit the environment, adjust that copied asset rather than regenerating
   it. Run the full generated starter test suite from the virtual environment
   and require it to pass.
4. Fix any scaffold, bootstrap, or test failure before reporting success. If it
   cannot be fixed, report the exact failure and remaining partial state; inspect
   that state before retrying. Report the created files and fresh test result.
   Never commit unless the user separately asks.

Files in this skill

  • SKILL.md3.6 KB
  • _rtx/__init__.py52 B
  • _rtx/_claude_compat_symlink.py582 B
  • _rtx/_host_links.py2.5 KB
  • _rtx/blueprint.yaml1.1 KB
  • _rtx/blueprints/rtx-host-links.yaml5.5 KB
  • _rtx/tests/test_host_links_interface.py1.5 KB
  • assets/common/.gitignore108 B
  • assets/common/AGENTS.md2.2 KB
  • assets/common/README.md179 B
  • assets/python/.gitignore152 B
  • assets/python/AGENTS.md3 KB
  • assets/python/README.md1.1 KB
  • assets/python/install.sh380 B
  • assets/python/pyproject.toml272 B
  • assets/python/requirements.txt21 B
  • assets/python/src/project/config.py894 B
  • assets/python/src/project/logger.py1.7 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…