Agent skill
project-init
Initialize a new FIRE project by detecting workspace type and setting up standards.
Install this agent skill to your Project
npx add-skill https://github.com/fabriqaai/specs.md/tree/main/src/flows/fire/agents/orchestrator/skills/project-init
SKILL.md
Let me analyze your project to get started.
</output>
<monorepo_detection>
Check for monorepo indicators:
- nx.json, turbo.json, pnpm-workspace.yaml, lerna.json, rush.json
- package.json with "workspaces" field
- Cargo.toml with [workspace] section
- go.work file
- Multiple independent package/dependency manifests
- Common patterns: packages/*, apps/*, services/*, libs/*
If any indicator found → workspace.structure = "monorepo"
</monorepo_detection>
<output>
Here's what I found:
**Tech Stack**: {detected_tech}
**Structure**: {detected_structure}
**Patterns**: {detected_patterns}
Does this look accurate? [Y/n/edit]
</output>
**Language**: {suggested_language}
**Framework**: {suggested_framework}
**Database**: {suggested_database}
Accept these suggestions? [Y/n/edit]
</output>
**[1] Autonomous** — AI executes more freely, fewer checkpoints
(medium complexity → autopilot, high → confirm)
**[2] Balanced** — Standard checkpoints based on complexity (Recommended)
(low → autopilot, medium → confirm, high → validate)
**[3] Controlled** — More human oversight, more checkpoints
(low → confirm, medium/high → validate)
Choose [1/2/3]:
</output>
<check if="response == 1">
<set>workspace.autonomy_bias = autonomous</set>
</check>
<check if="response == 2">
<set>workspace.autonomy_bias = balanced</set>
</check>
<check if="response == 3">
<set>workspace.autonomy_bias = controlled</set>
</check>
<note>Can be changed later in .specs-fire/state.yaml</note>
<action>Find module directories by exploring:</action>
<substep>Paths from workspace config (nx.json projects, pnpm-workspace.yaml, etc.)</substep>
<substep>Common patterns: packages/*, apps/*, services/*, libs/*, modules/*</substep>
<substep>Directories with their own dependency manifest</substep>
<action>For each discovered module, analyze (AI-driven, no hardcoded mappings):</action>
<substep>Primary language (from file extensions, config files)</substep>
<substep>Build/test commands (from CI config, package scripts, Makefile)</substep>
<substep>Linter/formatter (from config files in module)</substep>
<substep>Package manager (from lock files, manifests)</substep>
<output>
Found {{module_count}} modules:
| Module | Language | Test Command | Linter |
|--------|----------|--------------|--------|
{{#each modules}}
| {{path}} | {{language}} | {{test_cmd}} | {{linter}} |
{{/each}}
Create module-specific standards?
[c] All modules — create standards for all
[s] Select — choose which modules
[n] None — I'll create them manually later
</output>
<check if="response == c or response == s">
<action>For each selected module, create {module}/.specs-fire/standards/tech-stack.md</action>
<note>Only tech-stack.md by default — other standards inherit from root</note>
</check>
<check if="workspace.structure == monorepo and modules_selected">
<action>For each selected module:</action>
<substep>Create {module}/.specs-fire/standards/</substep>
<substep>Generate {module}/.specs-fire/standards/tech-stack.md with detected settings</substep>
</check>
Structure created:
```
.specs-fire/
├── state.yaml
├── intents/
├── runs/
└── standards/
├── constitution.md # Universal policies (always inherited)
├── tech-stack.md
├── coding-standards.md
├── testing-standards.md
└── system-architecture.md
{{#if modules_created}}
Module standards created:
{{#each modules_created}}
{{path}}/.specs-fire/standards/
└── tech-stack.md
{{/each}}
{{/if}}
```
Ready to capture your first intent.
What do you want to build?
</output>
<route_to>planner-agent (intent-capture)</route_to>
<output_artifacts>
| Artifact | Location | Template |
|---|---|---|
| State | .specs-fire/state.yaml |
— |
| Constitution | .specs-fire/standards/constitution.md |
templates/constitution.md.hbs |
| Tech Stack | .specs-fire/standards/tech-stack.md |
templates/tech-stack.md.hbs |
| Coding Standards | .specs-fire/standards/coding-standards.md |
templates/coding-standards.md.hbs |
| Testing Standards | .specs-fire/standards/testing-standards.md |
templates/testing-standards.md.hbs |
| System Architecture | .specs-fire/standards/system-architecture.md |
templates/system-architecture.md.hbs |
| Module Tech Stack | {module}/.specs-fire/standards/tech-stack.md |
AI-generated |
| </output_artifacts> |
<success_criteria> Workspace type correctly detected (greenfield/brownfield) Workspace structure correctly detected (monolith/monorepo) Tech stack identified or suggested Autonomy level selected .specs-fire/ directory structure created constitution.md generated (universal policies) Standards files generated from templates state.yaml created with correct configuration If monorepo: modules detected and analyzed If monorepo: module standards created for selected modules </success_criteria>
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
frontend-design
Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
run-status
Display current run status and progress. Shows work item, mode, duration, and files changed.
run-plan
Plan the scope of a run by discovering available work items and suggesting groupings. Invoked before run-execute.
walkthrough-generate
Generate implementation walkthrough for human review after run completion. Documents decisions, changes, and verification steps.
code-review
Review code written during a run, auto-fix no-brainer issues, and suggest improvements requiring confirmation. Invoked after tests pass.
run-execute
Execute work items based on their assigned mode (autopilot, confirm, validate). Supports single-item and multi-item (batch/wide) runs.
Didn't find tool you were looking for?