cursor/skills/vibeflow-teach/SKILL.md
Updates .vibeflow/ with corrections, new conventions, architectural decisions, or new patterns from natural language feedback. Also imports from external repos via --from <url|path>. Use to keep .vibeflow/ accurate as the project evolves.
npx skillsauth add pe-menezes/vibeflow vibeflow-teachInstall 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.
Teach the project knowledge base. Update .vibeflow/ docs with
corrections, new conventions, decisions, or patterns based on
natural language feedback. Also imports patterns from external
reference repos via --from <url|path>.
Usage: Provide your feedback as input, or use --from <url|path> to import from an external repo.
Detect the language of the user's input. Write ALL output in that same language. Technical terms in English are acceptable regardless of the detected language.
Check if .vibeflow/ exists.
.vibeflow/index.md for orientation..vibeflow/ does not exist. Run the vibeflow-analyze
skill first to create the knowledge base." and STOP.Check for --from flag.
If input contains --from, go to ## Import from external repo.
Otherwise, continue to ## Classify the Feedback.
This flow imports patterns and conventions from an external reference repo (e.g., shared architecture docs, coding guidelines).
<url|path> after --from.--name <alias> is present, use <alias> as the repo name..git (e.g., https://github.com/org/platform-patterns.git → platform-patterns)./my-patterns → my-patterns)URL (contains :// or starts with git@):
git clone --depth 1 <url> $TMPDIR/vibeflow-teach-$(date +%s)$REPO_PATH to the clone directory.Local path:
$REPO_PATH to the resolved absolute path.Scan $REPO_PATH for these knowledge sources (in order):
| Source | Glob pattern |
|--------|-------------|
| Claude Code skills | .claude/skills/*/SKILL.md |
| CLAUDE.md | CLAUDE.md |
| Knowledge docs | knowledge/**/*.md |
| Documentation | docs/**/*.md |
| Cursor rules | .cursorrules |
| Cursor rule files | .cursor/rules/*.mdc |
| AGENTS.md | AGENTS.md |
For each source found:
# heading, or filename if no heading).description from YAML frontmatter if present).pattern or convention based on content:
patternconventionIf NO sources are found: report "No knowledge sources found in <repo>."
and STOP (after cleanup if cloned).
Present the findings to the user:
## Found N knowledge sources in <repo-name>
### Patterns
1. [SKILL] kmp-architecture — KMP module structure, layers, DI, navigation
2. [SKILL] kmp-best-practices — XCFramework, build, logging, lint guidelines
3. [DOC] docs/api-conventions.md — REST API naming and versioning rules
### Conventions
4. [CLAUDE.md] Coding standards — Import ordering, error handling patterns
5. [CURSOR] .cursorrules — Cursor-specific coding rules
Select which to import (comma-separated numbers, "all", or "none"):
Wait for the user's selection. If the user selects "none": report "No patterns imported." and STOP (after cleanup).
For each selected item:
patterns/external-<nome>/Create directory .vibeflow/patterns/external-<repo-name>/ if it doesn't exist.
Conflict detection: Before saving each pattern, check if a file with the
same name already exists in .vibeflow/patterns/ (the root patterns directory,
not inside external-*/). Compare <source-name>.md against filenames in
.vibeflow/patterns/*.md.
If a conflict is found:
<name>.md already exists. Keep local or replace
with the external version?".vibeflow/patterns/
and proceed to save the external version in external-<repo-name>/.If no conflict: proceed normally.
For each selected pattern (not skipped), create a file:
.vibeflow/patterns/external-<repo-name>/<source-name>.md
Format:
---
tags: [external, <repo-name>]
modules: []
applies_to: []
confidence: imported
---
# Pattern: <title>
> Imported from: <repo-name> (<url or path>) on YYYY-MM-DD
<full content of the source file>
If the file already exists (re-import):
conventions.mdRead .vibeflow/conventions.md. Add a section OUTSIDE the
<!-- vibeflow:auto:start/end --> markers:
## External Conventions: <repo-name>
> Imported from: <repo-name> (<url or path>) on YYYY-MM-DD
<extracted convention content>
If an ## External Conventions: <repo-name> section already exists,
replace it with the updated content.
Add the new pattern directory to the "Pattern Docs Available" section
in .vibeflow/index.md:
- `patterns/external-<repo-name>/` — Patterns imported from <repo-name> (YYYY-MM-DD)
If a clone was created (URL source):
rm -rf $REPO_PATH to remove the temporary clone.Report to the user:
.vibeflow/patterns/external-<repo-name>/.
They are ready to be used by gen-spec and implement."Read the user's input and classify into one of these categories:
The user is saying an existing pattern doc is wrong or outdated.
patterns/*.md file is affected.<!-- vibeflow:auto:start/end --> markers
(add a ## Manual Corrections section at the end if it doesn't exist,
or append to it).The user is adding a coding convention.
conventions.md.<!-- vibeflow:auto:start/end --> markers
(add a ## Team Conventions section at the end if it doesn't exist,
or append to it).The user is recording an architectural decision.
decisions.md.### <date> — <title>
**Decision:** <what was decided>
**Context:** <why>
**Discarded alternatives:** <what was not chosen and why>
The user is describing a pattern that doesn't have a doc yet.
Conflict detection: Before creating, check if a file with the same name
already exists in .vibeflow/patterns/ or .vibeflow/patterns/external-*/.
patterns/ (local): ask the user — "A pattern <name>.md
already exists. Update the existing one or create a new one?"
If update → treat as category (a) instead.patterns/external-*/ (imported): warn the user — "An
imported pattern <name>.md exists from <repo-name>. Create a local
override or skip?" If skip → STOP.If no conflict, proceed:
.vibeflow/patterns/<name>.md# Pattern: <Name>
<!-- vibeflow:auto:start -->
## What
<from user feedback>
## Where
<inferred from feedback, or "To be confirmed by analyze">
## The Pattern
<from user feedback — real code if provided, otherwise description>
## Rules
<from user feedback>
<!-- vibeflow:auto:end -->
## Anti-patterns
<from user feedback if mentioned, otherwise empty>
.vibeflow/index.md → add the new pattern to "Pattern Docs Available".Report to the user:
<!-- vibeflow:auto:start/end --> markers.
User corrections go OUTSIDE markers to survive incremental updates..vibeflow/ doesn't exist, STOP. Don't create it manually.testing
Implements a feature from its spec with guardrails: budget, DoD, anti-scope, and pattern compliance. Runs an 8-phase pipeline (find spec → extract guardrails → load patterns → plan → implement → test → refine → self-verify DoD). Use after gen-spec when ready to implement.
development
Audits implementation against its DoD and project patterns. Runs the test suite, compares code against the spec, and reports PASS / PARTIAL / FAIL. Also runs the Critical Gate — a safety scan of the diff for destructive or dangerous operations. Use after implementation to verify quality before shipping.
development
Implements a feature from its spec following all guardrails: budget, DoD, anti-scope, and pattern compliance. Runs an 8-phase pipeline (find spec → extract guardrails → load patterns → plan → implement → test → refine → self-verify DoD). Use after gen-spec when you're ready to code. The agent has filesystem access and acts as Coding Agent.
development
Audits recent work against its Definition of Done and project patterns. Runs the test suite, compares code against the spec, and reports PASS / PARTIAL / FAIL. Also runs the Critical Gate — a safety scan of the diff for destructive or dangerous operations. Generates an incremental prompt pack for any gaps found. Use after implementation to verify quality before shipping.