Loading...
Loading...
Scan and normalize existing intent/planning files to IDD standard. Auto-fixes mechanical issues (frontmatter, directory structure), tags content issues for pickup. Use /intent-normalize to scan current project, or /intent-normalize <path> for specific directory.
npx skill4agent add arcblock/idd intent-normalize/intent-normalize [path]
↓
┌───────────────────────────────────┐
│ 1. Scan intent/ and planning/ │
│ Discover all .md and .yaml files│
└─────────────┬─────────────────────┘
↓
┌───────────────────────────────────┐
│ 2. Analyze compliance status of each file │
│ - Has frontmatter? │
│ - Has Anchor? │
│ - Is directory structure complete? │
└─────────────┬─────────────────────┘
↓
┌───────────────────────────────────┐
│ 3. Automatically fix mechanical issues │
│ - Add frontmatter │
│ - Create records/ + INDEX.md │
│ - Create _archive/, _data/ │
│ - Standardize file naming │
└─────────────┬─────────────────────┘
↓
┌───────────────────────────────────┐
│ 4. Mark content issues │
│ - Missing Anchor → status: draft │
│ - Over budget → mark needs_critique │
│ - Unclassifiable → status: draft │
└─────────────┬─────────────────────┘
↓
┌───────────────────────────────────┐
│ 5. Output normalization report │
└───────────────────────────────────┘| Check Item | Condition | Fix Action |
|---|---|---|
| Intent frontmatter | INTENT.md has no frontmatter | Add |
| Planning frontmatter | .md files under planning/ have no frontmatter | Add |
| Anchor Format | Anchor exists but has incorrect format (not a blockquote) | Correct to |
| records/ Directory | No records/ under intent directory | Create |
| _archive/ Directory | No _archive/ under intent/ | Create |
| _data/ Directory | No _data/ under intent/ | Create |
| TASK.yaml Format | TASK.yaml lacks type field | Add |
| Check Item | Condition | Marking Action |
|---|---|---|
| Missing Anchor | INTENT.md has no Anchor line | Add |
| Over Budget | Number of lines > 500 | Add |
| Budget Warning | 300 < Number of lines ≤ 500 | Add |
| No Assumes | References other intents in content but no Assumes tag | Add |
| Unclear Classification | Cannot automatically determine the type of planning file | |
needsneeds---
status: active
needs: [anchor, critique]
---needsneeds: [anchor]/intent-interviewneeds: [critique]/intent-critiqueneeds: [review]/intent-reviewneeds: [assumes]needsneedstype:| Keywords/Patterns | Inferred Type |
|---|---|
| idea, concept, proposal, brainstorm, what if | |
| research, analysis, comparison, benchmark, study | |
| feedback, user, complaint, request, survey | |
| code analysis, refactor, migration, legacy, improvement | |
| Cannot determine | |
Default scan of the following under the current project root directory:
- intent/ → All INTENT.md files (recursive, skip _archive/ and _data/)
- planning/ → All .md files
- **/intent/ → Module-level intent directories---
status: active
------
status: implemented
------
type: research
---| Signal | Inferred status |
|---|---|
| Has TASK.yaml with status: done | |
| Has corresponding src/ directory and files have not been modified recently | |
| File content is very short (< 50 lines) or obviously incomplete | |
| Default | |
needs# Intent Normalize Report
> Project: my-project
> Scan Time: 2026-02-06
## Statistics
| Type | Scanned | Normalized | Auto-Fixed | Needs Pickup |
|------|------|--------|----------|-----------|
| Intent Files | 15 | 8 | 5 | 2 |
| Planning Files | 7 | 2 | 4 | 1 |
| Directory Structure | — | — | 3 | — |
## Auto-Fixes (Completed)
1. ✅ `intent/kernel/proc/INTENT.md` — Added frontmatter `status: active`
2. ✅ `intent/kernel/afs/INTENT.md` — Added frontmatter `status: implemented`
3. ✅ `planning/v2-ideas.md` — Added frontmatter `type: idea`
4. ✅ `planning/legacy-analysis.md` — Added frontmatter `type: analysis`
5. ✅ `intent/kernel/proc/records/` — Created directory + INDEX.md
6. ✅ `intent/_archive/` — Created directory
7. ✅ `intent/_data/` — Created directory
## Needs Pickup (Marked)
| File | needs | Suggestion |
|------|-------|------|
| `intent/ash/INTENT.md` | `[anchor, critique]` | Missing Anchor, 612 lines exceed budget |
| `intent/surfaces/INTENT.md` | `[anchor]` | Missing Anchor |
| `planning/random-notes.md` | — | Cannot be classified, default type: idea |/intent-normalize/intent-normalize intent/kernel//intent-normalize --dry-run/intent-normalize # First normalize formats (this command)
↓
TeamSwarm pickup # Automatically schedule subsequent skills in needs
↓
/intent-interview # Handle needs: [anchor]
/intent-critique # Handle needs: [critique]
/intent-review # Handle needs: [review]
↓
/intent-check # Final compliance check