.claude/skills/build-plan/SKILL.md
WF6 Code Architecture and Execution Plan. Design the project file structure (separating main research code from reproduced baselines), module pseudocode, configuration schema, and training pipeline. Outputs Implementation_Roadmap.md + project_map.json.
npx skillsauth add linzhe001/Harness-Research build-planInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
First, read PROJECT_STATE.json to locate input artifacts. For code style requirements, see ../../shared/code-style.md. For the roadmap format, see templates/implementation-roadmap.md. For the project map schema, see templates/project-map-schema.json. For language behavior, see ../../shared/language-policy.md. </context>
<instructions> 1. **Read prerequisite materials** - Technical_Spec.md: Architecture design, MVP definition, chosen approach - Dataset_Stats.md: Data statistics - Codebase structure: Existing files and modules - Identify which parts are **main research code** (your innovation) and which are **reproduced baselines** (comparison methods)Design the project file structure
Core principle: Separate main research code from reproduced baselines.
Adapt the directory structure based on the project type. The following is a generic template; the actual structure should be customized based on Technical_Spec.md:
project_root/
├── src/ # [detailed] Main research code
│ ├── models/ # Core models (named per project needs)
│ ├── data/ # Data loading and preprocessing
│ ├── losses/ # Loss functions
│ ├── preprocessing/ # Offline preprocessing scripts (optional)
│ └── utils/ # Utility functions (including git_snapshot.py)
├── baselines/ # [brief] Reproduced comparison methods
│ └── {method_name}/ # Each baseline in its own subdirectory
├── configs/ # [medium] Configuration files
├── scripts/ # [medium] Training/evaluation entry scripts
├── tests/ # [brief] Unit tests
├── experiments/ # [minimal] Experiment outputs
│ ├── logs/
│ ├── checkpoints/
│ └── results/
└── docs/ # [medium] Documentation
Key principle: The directory structure is driven by the architecture design in Technical_Spec.md — do not apply a fixed template.
Generate project_map.json
Generate project_map.json (placed in the project root) following the templates/project-map-schema.json schema.
Tiered description strategy:
src/: List exports, input/output tensor shapes, and module dependencies for each fileconfigs/, scripts/, docs/: Purpose and key parameters for each filebaselines/, tests/: Baselines only list source/paper/status/entry point; tests only list coverage scopeexperiments/: Only describe directory purpose and storage rules, do not list specific filesFor each baseline subdirectory, must include:
source: Code source URLpaper: Paper citationstatus: verified / untested / modified / brokenentry_point: Training entry fileWrite module pseudocode
For each new file under src/, provide:
Preserve the roadmap structure and schema fields, but localize roadmap headings and narrative text according to ../../shared/language-policy.md unless a field is explicitly marked English-only.
Must include pseudocode for src/utils/git_snapshot.py:
git_snapshot(training_type, auto_push) → dictDefine configuration schema
Define all hyperparameters using dataclass or YAML format:
Design training pipeline
Define three stages:
For each stage, define:
Every stage's training script must follow this startup flow:
main():
1. git_snapshot(training_type) → snapshot # Version snapshot + push
2. wandb.init(config, notes=snapshot) # Experiment tracking
3. Training loop
4. Checkpoint saving (includes snapshot.commit_hash)
For baseline training, training scripts can reuse the same flow,
just set training_type to "baseline/{method_name}".
Output files
Generate two files:
a. docs/Implementation_Roadmap.md, containing:
b. project_map.json (project root), containing the complete tiered file structure description.
This is the architectural blueprint for WF7 code-expert; code-expert must strictly generate code according to this file's structure.
Update project state
Update PROJECT_STATE.json:
current_stage.status → "completed"artifacts.implementation_roadmap → file pathartifacts.project_map → "project_map.json"history append completion record
</instructions>
development
WF7.5 training pipeline validation. Before entering WF8 iteration, first use Codex to review code for baseline equivalence, then run a 100-step smoke test to verify end-to-end pipeline functionality.
business
WF1 Inspiration survey and gap analysis. Takes the user's research idea, performs literature search, gap analysis, competitor analysis, and feasibility scoring, then outputs Feasibility_Report.md. Use when the user has a new CV research idea that needs a feasibility assessment.
tools
WF10 Submission/Release Tool. Multi-scene training, result packaging, filename validation, dry-run submission checks. Used after ablation experiments are complete and before competition submission.
development
WF2 Architecture refinement and MVP design. Reads the feasibility report, analyzes the base codebase architecture, designs plug-and-play new modules, defines the MVP, provides A/B/C alternative plans, and outputs Technical_Spec.md. Use when a research idea needs to be translated into a concrete technical architecture design.