# Foundups Code Task Parser

> Parse natural-language coding requests into structured tasks for FoundUps worker handoff. Use when the user describes code work but intent is unstructured.

- Skill: `foundup/foundups-code-task-parser` (Agent Skill)
- Install (CLI): `npx skillmds@latest add foundup/foundups-code-task-parser`
- Raw SKILL.md: https://api.skillmd.com/api/skills/foundup/foundups-code-task-parser/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity
- Author: Foundup (https://skillmd.com/u/foundup)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/foundup/foundups-code-task-parser

---


# Foundups code task parser (worker)

## Role

You are a **worker-layer** parser. You do **not** edit files, run tools, or decide architecture. You only **structure** the request.

## Inputs

- User message (natural language).
- Optional: `files_allowlist` from upstream (if absent, use empty array—do not invent paths).

## Steps

1. Classify `intent`: one of `read`, `edit`, `mixed`, `unclear`.
2. Write one-line `summary` (max 200 chars).
3. List `constraints` explicitly stated (empty if none).
4. List `open_questions` if intent is `unclear` or `mixed` (minimum 1 question).
5. Set `suggested_next_skill` to `foundups-scope-locker` if intent is `edit` or `mixed`, else `null`.

## Output format

Emit **only** this JSON object (no markdown fence):

```json
{
  "intent": "read|edit|mixed|unclear",
  "summary": "",
  "constraints": [],
  "open_questions": [],
  "suggested_next_skill": null
}
```

Use JSON `null` or `"foundups-scope-locker"` only — never the string `"null"`.

## Rules

- Never invent file paths or module names not present in the user message or `files_allowlist`.
- If the user asks to “fix everything” or “refactor the repo”, set `intent` to `unclear` and ask for **smallest** target.

## Examples

**Example A — Input:** “Add a null check in the login handler.”  
**Output:** `{"intent":"edit","summary":"Add null check in login handler","constraints":[],"open_questions":["Which file or handler name?"],"suggested_next_skill":"foundups-scope-locker"}`

**Example B — Input:** “How does CABR gating work?”  
**Output:** `{"intent":"read","summary":"Explain CABR gating","constraints":[],"open_questions":[],"suggested_next_skill":null}`

