name: capturar-ideia description: "Captures a new build/tool/workflow idea as a backlog plan or sprint file under workspace/psiativa/plans/ instead of executing on impulse. Enforces the §5 rotina-comercial gate. Triggers: 'tive uma ideia', 'captura essa ideia', 'vira sprint', 'vira plano', 'adiciona ao backlog', 'nova ideia de ferramenta', 'manda pro backlog', 'transforma isso em plano', 'capture this idea', 'turn this into a sprint'." author: skill-builder version: 1.0.0 date: 2026-06-03
Capturar Ideia
Converts a fresh idea (tool, workflow, automation, feature) into a structured plan/sprint file inside workspace/psiativa/plans/ so it enters the backlog instead of being built on impulse. Anchored to _config/rotina-comercial.md §5.
When to fire
- User says they have an idea, want to "save", "capture", "backlog", or "sprint-ify" something tool/automation-shaped.
- User describes a build they want to start, especially during commercial hours (09:00–17:30 BRT).
- The idea touches n8n workflows, internal tools, extensions, dashboards, scripts, automations, or anything that costs engineering time.
- Do NOT fire for: client deliverables, copy work, cold-call scripts, or anything already authorized by a current sprint plan.
- Do NOT fire if the user is asking to execute a backlog item that already exists — route to the existing plan instead.
Non-negotiables
- Capture only. Never start building. Even if the idea is small. The whole point of this skill is to prevent productive procrastination ([[project_psiativa_closer_freeze_offer_trava]]).
- Always apply the §5 gate before writing the file. If the user refuses the gate, still capture — but record the refusal in the plan's
Why now (or not now)field. - Never write the plan into
_config/—_config/is the factory, not the backlog. Plans live inworkspace/psiativa/plans/. - Never edit an existing sprint file to absorb a new unrelated idea. New idea = new file (or new feature folder).
- Always convert relative dates to absolute (YYYY-MM-DD) in the plan and in memory updates.
Inputs
| Argument | Required | Default | Meaning |
|---|---|---|---|
idea |
✅ | — | Free-form description from the user (paste, paraphrase, or transcript). |
title_hint |
— | inferred | Short title the user proposed; otherwise infer a 3–6 word kebab descriptor. |
artifact |
— | inferred | sprint (single file), feature-folder (multi-file), or append (one-line addition to existing plan). |
trigger_context |
— | — | What sparked the idea (which call, which event, which observation). Goes into the Trigger field. |
Phase 1 — Apply the §5 gate (mandatory)
Before writing anything, ask the user (or answer for them if obvious):
"Isso te aproxima de um cliente pago esta semana?" (Reference:
_config/rotina-comercial.md§5, rule 3.)
- Yes + currently in build box (17:30+) + numbers of the day were hit → capture as a sprint, optionally flag it as
Ready to start (next build box). - Yes but currently in 09:00–17:30 commercial hours → capture as a sprint, status
Backlog — execute in next build box. Remind the user that commercial hours are protected. - No → capture as a sprint, status
Backlog — deferred. Do not negotiate. Record the user's stated motivation in theWhyfield anyway — it preserves intent for future-you.
Never let the answer dissolve into "let me just sketch it real quick." That is the failure mode this skill exists to prevent.
Phase 2 — Decide artifact shape
| Condition | Artifact |
|---|---|
| Self-contained idea, one outcome, under ~6 sections | Single sprint-N-<descriptor>.md |
| Multi-component initiative (architecture + prompts + integration docs) | Feature folder: <descriptor>/plan.md + supporting files. See nurture-groups/ and reactivation/. |
| One-line refinement of an already-captured plan | Append a bullet to the matching plan's ## Open ideas or ## Backlog section. Do NOT renumber sprints. |
If unclear → default to a single sprint file. Promote to a feature folder later if it grows.
Phase 3 — Resolve sprint number and slug
For a new sprint-N-*.md:
ls /home/jaypy/GitHub-Projects/Notes/ai-synthesizer/workspace/psiativa/plans/ \
| grep -E '^sprint-[0-9]+' | sort -V | tail -1
N= highest existing sprint number + 1. Never reuse a number, even if a sprint was abandoned.<descriptor>= 3–6 word kebab-case slug capturing the outcome, not the mechanism. Examples:cold-call-integration,closer-extension,operator-dashboard-crm.
For a feature folder: use the descriptor as the folder name (no sprint-N prefix). Inside, the main file is always plan.md.
Phase 4 — Write the plan file
Use this skeleton. Fill every field; if a field is unknown, write TBD explicitly — never silently omit.
# Sprint N — <Title>
**Status:** Backlog (captured YYYY-MM-DD)
**Trigger:** <what sparked the idea — call, observation, message, error>
**Goal:** <one sentence — the outcome, not the build>
**Why now (or not now):** <result of the §5 gate + user's stated motivation>
**Estimated build time:** <hours/days/weeks — rough order of magnitude, or TBD>
---
## Idea
<2–6 sentences describing what the user wants. Paraphrase faithfully; do not invent scope.>
## Why it matters
<Which commercial input from §0 does this move? Ligar / Qualificar / Calls R1-R2 / Follow-up. If none of the four → explicitly say "Does not move any of the 4 inputs directly" and explain the indirect path.>
## Scope hypothesis
- <bullet — first observable change in the world>
- <bullet — what would already exist that this builds on (workflow ID, table, file)>
- <bullet — what would need to be created>
## Anti-scope (what this is NOT)
- <bullet — things the user might assume are included but aren't>
- <bullet — explicit "v2" features deferred>
## Open questions
- [ ] <question that must be answered before build can start>
- [ ] <question about data availability, credentials, or integrations>
## Dependencies
- Workflows: <IDs, or "none">
- Sheets/DB tables: <names, or "none">
- Other sprints: <links to sprint-X-*.md, or "none">
## Related memory
- [[<auto-memory-slug>]] — <one-line context, if relevant>
---
## See also
- [`_config/rotina-comercial.md`](../_config/rotina-comercial.md) §5 — why this is in the backlog and not in execution.
- [`MEMORY.md`](../projects/n8n_workflows/MEMORY.md) — current state of the n8n_workflows project.
Hard rules for writing it:
- Title is descriptive of the outcome, not the build. "Reactivation engine" not "Build n8n workflow that pings old leads."
- Never copy the user's idea verbatim into multiple sections. Idea section is the paraphrase; the others are derived.
- Always include the Anti-scope section — it is the strongest anti-procrastination tool the file has.
- Date format:
YYYY-MM-DD. Today's date is the captured date. Convert "amanhã/semana que vem" to absolute.
Phase 5 — Verify before reporting done
Run this checklist mentally before declaring the capture complete:
- File exists at the correct path (
plans/sprint-N-<slug>.mdorplans/<slug>/plan.md). -
Status:line includes the absolute date inYYYY-MM-DD. -
Why now (or not now):line records the §5 gate result. - No new code, no n8n MCP calls, no edits outside the plans folder.
- Sprint number does not collide with any existing sprint.
-
Anti-scopesection is non-empty.
If any item fails → fix before moving to Phase 6. Do not skip the verification.
Phase 6 — Update memory (final, mandatory)
This phase fires only after Phases 1–5 are complete. Update both memory layers:
6a. Auto-memory (cross-session)
Write a project memory file to /home/jaypy/.claude/projects/-home-jaypy-GitHub-Projects-Notes-ai-synthesizer/memory/:
- Filename:
project_psiativa_sprint_<N>_<slug>.md(orproject_psiativa_<slug>_plan.mdfor feature folders). - Frontmatter
type: project. - Body lead:
Sprint N captured YYYY-MM-DD: <one-line outcome>. - Include
**Why:**(what the user said motivates it) and**How to apply:**(when this memory should resurface — e.g., "if user proposes building X during commercial hours, point to this plan first"). - Link back:
[[project_psiativa_closer_freeze_offer_trava]]and any other relevant memory slug.
Then append a one-line entry to MEMORY.md (the auto-memory index):
- [Sprint N — <Title> captured YYYY-MM-DD](project_psiativa_sprint_<N>_<slug>.md) — <8–15 word hook>
6b. Project MEMORY.md (in-repo)
Update workspace/psiativa/projects/n8n_workflows/MEMORY.md:
- If it has a
## Backlogor## Open planssection → append a row/bullet with the sprint number, title, status, and link. - If no such section exists → add it at the bottom (above
## See alsoif present), with one bullet per existing sprint and the new one at the top. - Format:
- **Sprint N — <Title>** (captured YYYY-MM-DD, status: <status>) — [plan](../../plans/sprint-N-<slug>.md). <one-sentence purpose>.
6c. Confirm and stop
Report to the user:
- The file path of the new plan.
- The §5 gate result on record.
- The two memory locations updated.
- Do not propose starting the build. End the turn.
Output contract
Always produces:
- One new plan file in
workspace/psiativa/plans/(sprint-N-<slug>.mdOR<slug>/plan.md). - One new auto-memory file under the workspace's
memory/directory. - One updated line in auto-memory
MEMORY.md. - One updated entry in
workspace/psiativa/projects/n8n_workflows/MEMORY.md.
Hard rules:
- Never produce code, n8n workflow edits, SQL, or any execution artifact in the same turn as the capture.
- Never write to
_config/,clients/,sources/, or any path outsideplans/and the two memory locations above. - Never declare the skill done without completing Phase 6. Capture without memory update = lost idea on next session.
- If the user pushes to start building immediately, refuse and reference
_config/rotina-comercial.md§5 rule 3.