Project Templates
The lab's project templates: the Next.js template, the CLI Python tool template, the research framework template, and the agent skill template. How each is structured, what each contains, and how to start a new project from each.
Purpose
This page documents the lab's project templates. The lab has four templates:
- Next.js template — for full-stack web apps.
- CLI Python tool template — for command-line tools that the lab's agents invoke.
- Research framework template — for adding a new tool to the research framework.
- Agent skill template — for adding a new capability to the lab's agents.
Each template has a standard structure, a standard documentation requirement, and a standard workflow. A new project should pick the closest template and follow it.
Template selection
| If you are building... | Use this template |
|---|---|
| A web application | Next.js template |
| A CLI tool that the agents invoke | CLI Python tool template |
| A new research tool | Research framework template |
| A new agent capability | Agent skill template |
| Something else | Open a discussion with the operator |
Next.js template
Location
{workspace-root}/stack_inicial_proyectos/front-end/nextjs/
Stack
- Next.js 15
- React 19
- Tailwind CSS v4
- Zustand (state)
- shadcn/ui (components)
- TypeScript
Structure
Skills
The template's .agents/skills/ includes:
nextjs-best-practices/— the framework's Next.js best practices.react-patterns/— common React patterns.tailwind-utility/— Tailwind utility classes.zustand-state/— Zustand state management.shadcn-ui/— shadcn/ui components.
Documentation requirement
Every project created from this template must have a
docs/ directory with:
README.md— project overview.code-reference.md— interfaces, functions, patterns.architecture.md— technical architecture.
The documentation is updated with every commit that changes the architecture or the public interfaces.
Workflow
- Copy the template to a new directory.
- Update
package.jsonwith the project name and dependencies. - Update
app/page.tsxwith the project-specific home page. - Add the project-specific routes under
app/. - Add the project-specific components under
components/. - Add the project-specific stores under
stores/. - Write the documentation under
docs/. - Initialize git and commit.
- Run
npm installandnpm run devto verify.
CLI Python tool template
Location
{workspace-root}/devclaw-tools/stack-template/tool_name/
(general structure)
A real instance is at
{workspace-root}/movie-scraper-tools/tools/torrent-finder/.
Stack
- Python 3.10+
- Click (CLI)
- Pydantic (data validation)
- requests, beautifulsoup4, lxml (HTTP and parsing)
- pytest (testing)
- AutoSkills (project context for the coding sub-agent)
Structure
Skills
The template's .agents/skills/ includes the
AutoSkills content. The package.json is a small
JSON file that the coding sub-agent uses to understand
the project.
Documentation requirement
Every tool must have:
README.md— what the tool does, how to install, how to use.TOOL.md— the technical spec (input schema, output schema, examples, failure modes).SKILL.md— the activation file the Coordinator reads.AGENTS.md— instructions for the coding sub-agent.
The TOOL.md is the contract between the tool and the
agent. It is updated when the tool's interface changes.
Workflow
- Copy the template to a new directory under
tools/. - Update
tool_name,package.json, andpyproject.toml. - Implement
lib.py(core logic) andmain.py(CLI entry point). - Write tests under
tests/. - Write
README.md,TOOL.md,SKILL.md, andAGENTS.md. - Register the tool in the project's
tools.json. - Run the tests with
pytest. - Commit.
Research framework template
Location
A new tool is added to the research framework by
creating a new package under
{research-root}/docs/orchestrator/tools/tool-N-name/
or {research-root}/docs/domains/<domain>/tool-N-name/.
A real instance is
docs/orchestrator/tools/tool-h-report-generator/.
Structure
Skills
The tool's skills/<skill-name>/SKILL.md describes
when to use the tool and the workflow.
Documentation requirement
Every research tool must have:
README.md— what the tool does.docs/README.md— deeper documentation.skills/<skill-name>/SKILL.md— the activation file.tests/— unit tests for the tool's logic.
The tool's public API is documented in
docs/README.md with input and output schemas.
Workflow
- Create the package under
docs/orchestrator/tools/tool-N-name/(use the next available letter for the prefix). - Implement the tool's modules under
src/. - Write tests under
tests/. - Write the SKILL.md and the documentation.
- Register the tool in the orchestrator (if needed).
- Run the tests with
pytest. - Verify the tool can be invoked through the orchestrator's CLI.
Agent skill template
Location
Skills are added to the agent's .agents/skills/
directory. A skill is a single SKILL.md file (and
optional supporting files).
Structure
SKILL.md format
The SKILL.md has a YAML frontmatter and a markdown body:
Documentation requirement
Every skill must have a SKILL.md with the frontmatter
(name, description) and the body (when to use, workflow,
inputs, outputs, failure modes).
The skill is loaded by the Coordinator's skill loader when the trigger phrases match.
Workflow
- Create a directory under
.agents/skills/. - Write
SKILL.mdwith the frontmatter and the body. - Add any supporting files (README, examples).
- Verify the skill can be activated by the Coordinator.
Conventions
All templates share these conventions:
- Documentation is part of the deliverable. A project without documentation is incomplete.
- Skills are first-class. Every project has a
.agents/skills/directory with the relevant skills. - Tests are first-class. Every project has a
tests/directory with unit tests. - Configuration is explicit. Configuration is in files, not in code.
- Sanitization is required. No real usernames, no real agent names, no real absolute paths in the documentation. Use placeholders.